如何使用MySQL确定重复的条目

时间:2012-02-11 15:02:32

标签: php mysql

我正在尝试确定数据库中的最后15个条目是否重复。有没有一种简单的方法可以用MySQL来完成这项工作,还是需要迭代每个结果并将其与前一个结果进行比较?

我的sql查询如下所示:

SELECT content FROM `messages` WHERE sender_id = 12345 order by date desc limit 10

在这种情况下,结果如下所示:

test1
test1
test2
test1
test1
test1
test1
test2
test1
test1

在这种情况下,我希望看到80%相同。

如何使用SQL和PHP轻松完成此任务的想法或建议?

3 个答案:

答案 0 :(得分:3)

您可以先尝试使用count()goup by条款来宣传每个条目的出现次数:

select content, count(content)
from messages
WHERE sender_id = 12345
    -- maybe add a condition on the date, here
group by content
having count(content) > 1

然后,对于此查询返回的每个内容,您将要执行某些操作(如果您尝试删除某些条目,请确保不删除所有条目,并保留第一个或最后一个)

答案 1 :(得分:0)

您可以看到重复的数量,如下所示:

select content, count(content) 
from `messages` 
WHERE sender_id = 12345 
group by content
order by count(content) desc

答案 2 :(得分:0)

如果count大于1那么重复。

 SELECT  count(content)  FROM `messages` WHERE sender_id = 12345  group by content order by date desc limit 10