设为首页 加入收藏

TOP

182.Duplicate Emails
2019-05-12 14:40:25 】 浏览:93
Tags:182.Duplicate Emails
版权声明:如果有所收获可以自由转载,注明出处即可。 https://blog.csdn.net/yizhang_me/article/details/78359299

Duplicate Emails
Write a SQL query to find all duplicate emails in a table named Person.

+—-+———+
| Id | Email |
+—-+———+
| 1 | a@b.com |
| 2 | c@d.com |
| 3 | a@b.com |
+—-+———+
For example, your query should return the following for the above table:

+———+
| Email |
+———+
| a@b.com |
+———+
Note: All emails are in lowercase.

Solution
Approach I: Using GROUP BY and a temporary table [Accepted]
Approach II: Using GROUP BY and HAVING condition [Accepted]
Solution

Approach I: Using GROUP BY and a temporary table [Accepted]

Algorithm

Duplicated emails existed more than one time. To count the times each email exists, we can use the following code.

select Email, count(Email) as num
from Person
group by Email;

Email num
a@b.com 2
c@d.com 1

Taking this as a temporary table, we can get a solution as below.

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

Approach II: Using GROUP BY and HAVING condition [Accepted]

A more common used way to add a condition to a GROUP BY is to use the HAVING clause, which is much simpler and more efficient.

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

Answer3:

SELECT DISTINCT p1.Email
FROM Person p1, Persion p2
WHERE p1.Email = p2.Email AND p1.ID <> p2.ID;

DISTINCT用法
CONCAT,GROUP_CONCAT

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇JVM调优之jstack找出最耗cpu的线.. 下一篇kafka的控制器选举以及作用

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目