2011-10-02 60 views
0

我想按日期排序表。我有多個相同藝術家姓名的紀錄,但他們有不同的日期MySQL查詢選擇不同的字段,然後按日期排序

例如

ARTIST:DATE 
Gerd:2011-09-28 
Gerd:2011-09-01 
Simon:2011-07-01 
Simon:2011-10-02 
Franco:2011-01-10 
Franco:2011-09-15 
Franco:2011-07-01 
Des:2011-09-05 

我如何可以提取不同的用戶名,並表明他們已經創紀錄的創造上最近的日期?我也想只顯示有2點以上的記錄

所以在這種情況下,我想結果是

Simon:2011-10-02 
Gerd:2011-09-28 
Franco:2011-09-15 

名字(我想這些以日期順序排列)

謝謝!

回答

3

試試這個:

SELECT Artist, MAX(Date) AS MaxDate 
FROM Artists 
GROUP BY Artist 
HAVING COUNT(Artist) > 2 
ORDER BY MaxDate DESC 

你的問題明確規定「2個以上」,但你的例子數據說明> = 2,在任何情況下,你可以,如果調整HAVING /根據您的需要:

HAVING COUNT(Artist) >=2 
+0

謝謝!對不起,我錯過了查詢的一個重要部分 - 我也只想顯示超過2條記錄的名字。有任何想法嗎? (編輯後反映此) – Franco

+0

@Franco:是的,在編輯的答案中使用'HAVING'。你說「超過2」,但你的例子是大於或等於2. –

+0

輝煌,感謝您的幫助! – Franco

相關問題