2013-04-02 100 views
0

你好,我有一個快速的問題,我似乎無法弄清楚。我試圖列出最終用戶項目(只是一個例子),只顯示最近的評論。分組欄顯示最近日期

ID Name EventDate  Type 
1 PC  12/12/2012 End User Items 
1 PC  11/12/2012 End User Items 
1 PC  10/11/2012 End User Items 
2 Mobile 12/12/2012 End User Items 
2 Mobile 11/01/2012 End User Items 
2 Mobile 12/12/2011 End User Items 
3 Server 12/12/2013 Server 

所以我會嘗試這樣的事:

select * from systems where type = "End User Items" group by ID 

但結果仍然不會顯示最新的日期。 任何幫助將不勝感激!

+0

該樣本輸入的期望輸出是什麼? – MarcinJuraszek

+0

你想看最新的評論?評論是指什麼字段? –

回答

0

您是否嘗試過如下獲取MAX日期?

SELECT Name, 
    MAX(EventDate), 
    Type 
    FROM systems 
    WHERE type = 'End User Items' 
    GROUP BY Name, Type 
0

您可以使用子查詢來獲取ID和MAX日期,然後使用ID和MAX日期回到您的系統表上。

SELECT s2.Name, s.EventDate 
FROM system s2 
INNER JOIN (SELECT ID, MAX(EventDate) EventDate 
      FROM systems 
      WHERE type = 'End User Items' 
      GROUP BY ID) AS s on s2.ID = s.ID AND s2.EventDate = s.EventDate 
0

定義您想顯示的列而不進行彙總作爲您的GROUP BY字段。選擇這些字段和計算的彙總函數列(例如,max(),sum(),count())。

SELECT ID, Name, MAX(EventDate) as LastDate 
    FROM systems 
    WHERE type = 'End User Items' 
    GROUP BY ID, Name 

您可能想看到ID和名稱。類型在這裏是多餘的,因爲你只需要一個類型。你想獲得組中的max()日期。返回的所有字段必須是摘要函數或GROUP BY列。