2009-11-03 57 views
1

快速的問題......我有檢查重複,看起來像這樣的查詢:MySQL COUNT(*)中的最後一項結果?

SELECT COUNT(*) AS repetitions, Name, Phone, ID, categoryid, State 
FROM users 
GROUP BY Name, Phone, State 
HAVING repetitions > 1 
ORDER BY ID DESC 

這個工作,但MySQL的一組重複的返回第一個ID。例如,讓我說我有2行。第一行的ID是1,第二行的ID是2,名稱,電話和狀態具有相同的數據...我如何獲得上述查詢返回計數但ID爲「2」而不是「1」?

謝謝! ;)

回答

5

使用MAX()聚合函數:

SELECT COUNT(*) AS repetitions, max(ID) FROM users GROUP BY Name, Phone, State HAVING repetitions > 1 ORDER BY ID DESC 
+2

真棒工作就像一個魅力! – mike 2009-11-03 21:34:42

0

並不完美,但工作

SELECT COUNT(*) AS repetitions, Name, Phone, MAX(ID), categoryid, State 
FROM users 
GROUP BY Name, Phone, State 
HAVING repetitions > 1 
+0

在幾分鐘之前得到了相同的答案......非常感謝! – mike 2009-11-03 21:38:53