如何识别和选择所有重复的条目

时间:2011-11-15 19:44:12

标签: mysql

我试图识别并选择我的mysql表中连续填写的所有已公开条目。

我尝试过使用此查询:

SELECT id, link, COUNT(*) 
FROM linkuri
HAVING COUNT(*)>1
LIMIT 0 , 30

问题是这导致我0结果,我已经检查了几页,我看到了一些参与者的条目。

我想要的是检查并删除在行链接下填写的所有已公布的参赛作品。

2 个答案:

答案 0 :(得分:1)

您可能正在寻找

SELECT a.id, a.link, b.cnt
FROM linkuri
INNER JOIN 
( SELECT link, COUNT(*) AS cnt FROM linkuri GROUP BY link HAVING COUNT(*) >1 )b
ON (b.link = a.link)

答案 1 :(得分:1)

您的查询存在的问题是您没有按任何方式进行分组。要查找重复项,您必须按列对它们进行分组,然后从每个组中获取计数。声明就像组http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html

上的where子句一样
SELECT id, link, COUNT(*) 
FROM linkuri
GROUP BY link
HAVING COUNT(*)>1
LIMIT 0 , 30