MySQL计数(*)结果中的最后一项?

MySQL计数(*)结果中的最后一项?,sql,mysql,Sql,Mysql,快速提问。。。我有一个检查重复项的查询,如下所示: 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。例如,假设我有两行。第一行的ID为1,第二行的ID为2,并且姓名、电话和状态

快速提问。。。我有一个检查重复项的查询,如下所示:

 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。例如,假设我有两行。第一行的ID为1,第二行的ID为2,并且姓名、电话和状态具有相同的数据。。。如何让上面的查询返回ID为2而不是1的计数


谢谢

使用最大聚合函数:

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

使用最大聚合函数:

SELECT COUNT(*) AS repetitions, max(ID) FROM users GROUP BY Name, Phone, State HAVING repetitions > 1 ORDER BY ID DESC
不完美但有效

SELECT COUNT( * ) AS repetitions, Name, Phone, MAX(ID), categoryid, State 
FROM users 
GROUP BY Name, Phone, State 
HAVING repetitions > 1
不完美但有效

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

几分钟前得到了同样的答案。。。非常好,谢谢!几分钟前得到了同样的答案。。。非常好,谢谢!