我正在尝试在表中找到在多个字段中具有重复数据的所有记录,并返回这些重复记录的所有字段 . 我在这个网站上研究了这个问题并发现了类似的问题,但似乎没有一个问题可以解决我的问题 .
例如,这些将是重复记录:
first_name last_name状态Bob Jones CA Bob Jones CA.
虽然这些不是:
first_name last_name状态Bob Jones CA Bob Jones CO
也不是这些:
first_name last_name状态Bob Jones CA Bob Smith CA.
也不是这些:
first_name last_name state Bob Jones CA Jim Jones CA.
如果我展示我尝试的MySQL语句可能会更容易:
SELECT * FROM table_1 WHERE gy> = 2 AND arc =''AND first_name IN(SELECT first_name FROM table_1 GROUP BY first_name HAVING count(first_name)> 1)AND last_name IN(SELECT last_name FROM table_1 GROUP BY last_name HAVING count(last_name) > 1)AND状态IN(SELECT状态FROM table_1 GROUP BY状态HAVING count(state)> 1)
该语句似乎返回表中满足前两个条件的每个记录(gy> = 2 AND arc ='')并忽略最后三个,我不明白 .
有没有人建议以更成功的方式返回所有三个first_name,last_name和state字段中具有重复值的记录的所有字段?
1 回答
你可以尝试这样的事情:
这只会在所有三个字段上返回重复项 . 那是你在找什么?
编辑:
要获取副本的每个记录,可以使用上面的子查询来选择重复项: