2009-11-03 7 views
1

question rapide ... J'ai une requête qui vérifie les doublons qui ressemble à ceci:Dernier élément dans MySQL COUNT (*) Résultat?

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

cela fonctionne, mais MySQL renvoie le premier ID dans un ensemble de doublons. Par exemple, disons que j'ai 2 lignes. ID pour la ligne 1 est 1 et ID pour la ligne 2 est 2 et Nom, Téléphone et Etat ont des données identiques ... Comment puis-je obtenir la requête ci-dessus pour retourner le compte mais avec l'ID "2" au lieu de "1"?

Merci! ;)

Répondre

5

Utilisez la fonction d'agrégation max():

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

impressionnant a fonctionné comme un charme! – mike

0

pas parfait, mais fonctionne

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

Vous avez la même réponse ci-dessus quelques minutes auparavant ... Fonctionne bien Merci! – mike