我有一个包含以下字段的MySQL数据库:
id, email, first_name, last_name
我想运行一个SQL查询,该查询将显示不止一次存在id和email的行。
基本上,id和email字段应该只有一行,我想运行查询以查看是否有任何可能的重复
答案 0 :(得分:0)
你会想要这样的东西:
select field1,field2,field3, count(*)
from table_name
group by field1,field2,field3
having count(*) > 1
答案 1 :(得分:0)
您可以通过对这些ID进行分组并使用如下的having子句来搜索满足特定计数的所有ID:
SELECT id, COUNT(*) AS totalCount
FROM myTable
GROUP BY id
HAVING COUNT(*) > 1;
此查询返回的任何内容都有重复。要检查重复的电子邮件,您只需更改要选择的列。
答案 2 :(得分:0)
如果您只想返回重复的ID和电子邮件,可以使用GROUP BY查询:
SELECT id, email
FROM yourtable
GROUP BY id, email
HAVING COUNT(*)>1
如果您还想返回完整行,则必须加入上一个查询:
SELECT yourtable.*
FROM
yourtable INNER JOIN (
SELECT id, email
FROM yourtable
GROUP BY id, email
HAVING COUNT(*)>1
) s
ON yourtable.id = s.id AND yourtable.email=s.email