1. 程式人生 > >leetcode182:查詢重複的電子郵箱

leetcode182:查詢重複的電子郵箱

編寫一個 SQL 查詢,查詢 Person 表中所有重複的電子郵箱。

示例:

+----+---------+
| Id | Email   |
+----+---------+
| 1  | [email protected] |
| 2  | [email protected] |
| 3  | [email protected] |
+----+---------+

根據以上輸入,你的查詢應返回以下結果:

+---------+
| Email   |
+---------+
| [email protected] |
+---------+

說明:

所有電子郵箱都是小寫字母。

SELECT Email FROM Person GROUP BY Email HAVING COUNT(*) > 1

知識點

1.SELECT Email FROM Person GROUP BY Email

2.HAVING

對由sum或其它集合函式運算結果的輸出進行限制。

“Where” 是一個約束宣告,使用Where來約束來之資料庫的資料,Where是在結果返回之前起作用的,且Where中不能使用聚合函式。

“Having”是一個過濾宣告,是在查詢返回結果集以後對查詢結果進行的過濾操作,在Having中可以使用聚合函式。

只要條件裡面的欄位, 不是表裡面原先有的欄位就需要用having.

SQL在查詢表的時候先把查詢的欄位放到了記憶體裡,而where查詢的時候是從表裡面查的,其餘需要用having。

3.COUNT(*)

count(*) 是個聚合函式 作用是求表的或者組的所有記錄數 select * from 表名 這個是查詢表的所有記錄 select count(*) from 表名 這個是查詢表的所有記錄數