mysql select只从数据库中复制记录

时间:2012-03-02 22:03:58

标签: php mysql

我正在尝试使用mysql数据库中的重复记录。但是,我不想删除记录,只有两列是重复的。我怎样才能找到这些记录?

2 个答案:

答案 0 :(得分:10)

你能发布关于表格结构的更多信息吗?你的意思是一些是重复但只有两列?

无论如何,您可以查看GROUP BYCOUNTHAVING

SELECT `duped_field1`, `duped_field2`, COUNT(*) `tot`
FROM `table`
GROUP BY `duped_field1`, `duped_field2`
HAVING `tot` > 1

答案 1 :(得分:3)

查找重复项的一般原则是仅使用group byhaving count(*) > 1

如果您只想知道重复的列值:

select col1, col2
from table
group by col1, col2
having count(*) > 1

但是,如果您想查看两列重复的所有字段:

select t.*
from @tbl t
where exists (select * 
              from @tbl d 
              where d.col1 = t.col1 and d.col2 = t.col2
              group by d.col1 
              having COUNT(*) > 1)