与此Find duplicate records in MySQL类似,我希望根据特定列的值提取MySQL数据库中的重复记录。
要取出ID最高的那个,我可以这样做:
SELECT MAX(id), name, address, no_purchase, count(id) as cnt FROM list
GROUP BY name, address HAVING cnt > 1要取出ID最小的那个,我可以这样做:
SELECT MIN(id), name, address, no_purchase, count(id) as cnt FROM list
GROUP BY name, address HAVING cnt > 1如何根据最高no_purchase拉取?当我执行MAX(no_purchase)时,我没有得到正确的id。
发布于 2021-09-28 12:34:02
一种通用的解决方案是:
SELECT *
FROM t
WHERE (name, address, no_purchase) IN (
SELECT name, address, MAX(no_purchase)
FROM t
GROUP BY name, address
)话虽如此,使用姓名和地址来识别重复的人并不总是有效的。
https://stackoverflow.com/questions/69361661
复制相似问题