SQL-Duplicate Emails

时间:2022-02-01 22:50:48

SQL-Duplicate Emails


思路:

两种思路,可以给当成两个表也可以给当成一张表来做

group by就是按照某个属性给表分个组,然后having语句的含义是“对于每一个group”怎么怎么样

补充知识:count(column),count(distinct column),count(*)的区别

对于符合条件(通过where或者group by+having选出来)的一系列的元组,count(*)的作用是计算出他们所有的行数

而count(col)的作用是对于选出所有元组的col这一列不为NULL的行数

而count(distinct col)有了上面的基础就会比较好理解,就是所有元组的col这一列不为NULL而且不重复的元组个数

然后!=在SQL中用<>来表示


way 1:

select a.Email
from Person as a,Person as b
where a.Id <> b.Id and a.Email = b.Email

way 2:

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