2013-08-23 28 views
1

我有一個表relative,我想從中抽取所有唯一的ID以及與每個關聯的第一個和最後一個日期。到目前爲止,我在下面查詢,它返回每個唯一的ID以及與每個ID相關的表中的第一個日期。我怎樣才能修改這個查詢(或運行第二個),以便返回每個唯一的ID以及與該ID相關聯的表中的最後一個日期?MySQL返回列中的所有唯一值以及與每個關聯的最後一個日期

SELECT `ID`, `Date` FROM `relative`.`datatable` GROUP BY `ID` 
+2

請注意,我不認爲'GROUP BY'肯定能給第一次約會。 – vroomfondel

+0

啊,謝謝! –

+1

是否正確使用GROUP BY,然後將其放入選擇字段列表中,字段不存在於組中(如you日期字段)。你可以在你的問題中添加一個示例數據集並且想要顯示嗎? –

回答

3

這是一個基本聚集查詢:

SELECT `ID`, min(`Date`), max(`date`) 
FROM `relative`.`datatable` 
GROUP BY `ID`; 

而且,作爲@rogoas指出,您的查詢並不保證返回最小日期。它會爲每個ID返回一個任意日期。

+0

我正準備用'ORDER BY'發佈答案;這樣好多了 – vroomfondel

0

你可以試試這個min(date)max(date): -

SELECT `ID`, min(`Date`), max(`date`) FROM `relative`.`datatable` 
GROUP BY `ID`; 
相關問題