MYSQL选择重复的行,其中重复2或3列值

时间:2013-08-12 05:32:00

标签: mysql sql

由于Ajax错误,我最终会有大量重复数据,其中2列的组合需要是唯一的。 对于这个问题,我将表格简化为namesurname

想象一下表users如何获得id + name重复的surname。 我附上了一张照片。

Table users

2 个答案:

答案 0 :(得分:4)

SELECT id, name, surname FROM users t1 WHERE 
  EXISTS(SELECT id FROM users t2 
            WHERE t1.id <> t2.id AND 
                  t1.name = t2.name AND 
                  t1.surname = t2.surname)

答案 1 :(得分:0)

试试这个

select Id from  users u inner join 
(SELECT  name,surname,count(*) cnt FROM  users GROUP BY name,surname 
HAVING cnt >1) dup on dup.name = u.name and u.surname = dup.surname 

请参阅SQL Fiddle