--- tags: sql, LeetCode disqus: HackMD --- # 182. Duplicate Emails `Fix Names in a Table` 透過`leetcode 182`[Duplicate Emails](https://leetcode.com/problems/duplicate-emails/description/?envType=study-plan&id=sql-i)來練習 #### 使用table ![](https://i.imgur.com/ObEK46Q.png) id 是該表的主鍵列。 此表的每一行都包含一封電子郵件。電子郵件將不包含大寫字母。 ## 題目說明: 編寫 SQL 查詢以報告所有重複的電子郵件。 按任意順序返回結果表。 查詢結果格式如下例所示。 ![](https://i.imgur.com/PMuGWUq.png) ## 解題: 以下為第一個解法 先`select count(email) ` 算出email重複的有幾筆 再select一次把沒有重複的去掉( `M.rt` ) ```sql= SELECT email FROM ( SELECT email,count(email) as rt FROM Person group by email ) M where M.rt > 1 ``` 以下為第二個解法 使用 `having` 將沒有重複的去掉( `having count(email) > 1` ) [having用法](https://www.1keydata.com/tw/sql/sqlhaving.html) ```sql= SELECT email FROM Person group by email having count(email) > 1 ``` By. @UEW2WaUHTqSmPOSfnfXrNw