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
几分钟前得到了同样的答案。。。非常好,谢谢!几分钟前得到了同样的答案。。。非常好,谢谢!