mysql--查找重复的电子邮件

Posted 菜弟弟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql--查找重复的电子邮件相关的知识,希望对你有一定的参考价值。

 

 

解法一:(创建临时表当做子表来处理)

 

select Email from
(
  select Email, count(Email) as num
  from Person
  group by Email
) as statistic
where num > 1

 

  

解法二:(where好像只能用于原有数据表字段,聚合函数生成的字段无法配合使用)

 

select Email from Person group by Email having count(Email) > 1;

 

  

 

解法三:

select distinct a.Email from Person a, Person b where a.Email = b.Email and a.Id != b.Id 

 

  

 

 

 

 补充:

1、where后面不能跟聚合函数

2、group by 非聚合函数列  having 可以是聚合函数

 

3、where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。

 

4、having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件显示特定的组,也可以使用多个分组标准进行分组。

 

以上是关于mysql--查找重复的电子邮件的主要内容,如果未能解决你的问题,请参考以下文章

如何创建片段以重复变量编号中的代码行

使用正则表达式python查找电子邮件[重复]

从国际电话代码中查找语言环境[重复]

linux中怎么查看mysql数据库版本

如何在 MySQL 中查找重复条目 [重复]

在MySQL中查找重复记录