Sql 查找重复的电子邮件地址
我需要在我们的数据库中找到重复的电子邮件。我在一张桌子上寻找这些信息。到目前为止我所拥有的Sql 查找重复的电子邮件地址,sql,Sql,我需要在我们的数据库中找到重复的电子邮件。我在一张桌子上寻找这些信息。到目前为止我所拥有的 SELECT name.email, name.ID From Name Group BY Name.ID, Name.EMAIL Having Count(*) > 1 我知道这是错误的,但不知道如何正确地编写它。删除ID SELECT name.email From Name Group BY Name.EMAIL Having Count(*) > 1 如果你
SELECT name.email, name.ID
From Name
Group BY Name.ID, Name.EMAIL
Having Count(*) > 1
我知道这是错误的,但不知道如何正确地编写它。删除
ID
SELECT name.email
From Name
Group BY Name.EMAIL
Having Count(*) > 1
如果你想知道电子邮件的号码
SELECT name.email, COUNT(*) totalEmailCount
From Name
Group BY Name.EMAIL
Having Count(*) > 1
给你:
SELECT name.email, COUNT(*)
FROM
Name
GROUP BY
Name.email
HAVING
COUNT(*) > 1
问题是
SELECT name.email, COUNT(*) FROM Name
GROUP BY Name.email HAVING COUNT(*) > 1
您需要知道的是,如果您也按ID分组,则计数将为1,这就是您的查询不起作用的原因
如果您需要知道电子邮件重复用户的ID,您可以这样做:
select Name.ID, Name.Email from Name where Name.Email in (
SELECT name.email FROM Name
GROUP BY Name.email HAVING COUNT(*) > 1
)
下面的SQL查询将返回包含相同(重复)电子邮件的第一个匹配行的ID和电子邮件
从名称组中选择ID,通过电子邮件计数(电子邮件)>1的电子邮件发送电子邮件
如果某人想要从名称表中获得所有重复的电子邮件,他/她可以执行以下SQL查询
通过计数(电子邮件)>1的电子邮件从名称组中选择电子邮件
请注意:SQL是一种完全不区分大小写的语言。您还可以在查询的选择部分添加
选择名称。电子邮件,计数(1)
查找重复数确保您的排序设置为忽略大小写。@DanielA.White我认为默认情况下它是不区分大小写的。
@JW。取决于服务器的类型。@Kane是的,您也可以这样做:D
select id,email from
(select id,email,count(email) over (partion by email order by id) cnt from name) where cnt>1