2014-09-01 31 views
0

我有一個非常簡單的查詢返回的項目數的列表,它們被輸入到系統中的日期,日期選擇最新的條目時,該條目最後修改:使用日期字段(不重複)

SELECT DISTINCT asset_id, entered_date, modified_date 
FROM price_data 

問題是,有時項目的價格不止一次,導致具有相同的asset_id和entered_date但具有不同的modified_dates的條目。上述查詢的工作原理是返回價格,但它返回原始條目和最新條目,用於重新定價的任何內容。我怎樣才能使這個查詢只返回最新的價格值而不是兩個已經重新定價的項目?

任何幫助將不勝感激!非常感謝。

回答

1

你可以通過你想成爲每個組的最高modified_date

SELECT asset_id, entered_date, max(modified_date) 
FROM price_data 
GROUP BY asset_id, entered_date 
0
select p.* 
    from price_data p 
    join (select asset_id, max(modified_date) as last_modified_date 
      from price_data 
     group by asset_id) v 
    on v.last_modified_date = p.modified_date 

獨特thenselect列組您可以在不影響結果不羣的價格,所以你必須選擇最新的修改日期單獨在內聯視圖中,然後再回到實際表格。