2016-03-05 29 views
1

訂購我有日誌SQL - 如何通過分日期

PERSON ID    LOGDATE (DATETIME) 
    1000    2015-10-20 10:00:00 
    1000    2015-11-11 09:10:22 
    2001    2015-10-11 10:22:11 

我需要按LOGDATE -DATETIME的數據表 - 但只有最低的日期爲每個ID。

select PERSONALID, LOGDATE from TABLE group by PERSONALID order by 
MIN(LOGDATE) DESC 

我可以通過ID GROUP - ORDER BY敏時間(每個結果由ID),但最終的結果犯規命令由MIN日期對結果..

RESULT: 
1000 ------------- 2015-10-20 10:00:00 (min date for ID=1000) 
2001 ------------- 2015-10-11 10:22:11 (min date for ID=2001) 

正確的答案是:

RESULT: 
2001 ------------- 2015-10-11 10:22:11 (min date for ID=2001) 
1000 ------------- 2015-10-20 10:00:00 (min date for ID=1000) 

有什麼不對?

回答

4

這應做到:

select PERSONALID, MIN(LOGDATE) as mindate 
from TABLE 
group by PERSONALID 
order by mindate 
+0

嗨@ Darshan-Mehta - 很多!但沒有工程..仍然是同樣的結果。 (訂購每個ID的分鐘,但沒有訂購的結果) – DANIEL

+0

嗨@ darshan-metha ....當然..它的正確答案 - 我需要通過「最遠距離」的日期訂購..(現在我我很困惑,如果這個日期是「min」或「max」..:D) - 但是,是的 - 你解決了這個問題,但對我來說正確的順序是「BY MINDATE」(沒有DESC)。 – DANIEL

+0

如果能幫助你,我將不勝感激。 –

0

您需要選擇MIN(LOGDATE),不LOGDATE。選擇LOGDATE會導致MySQL從每個組中返回未確定記錄的值 - 有關更多信息,請參閱MySQL Handling of GROUP BY