LeetCode 196 刪除重複的電子郵箱

2021-09-25 03:36:35 字數 844 閱讀 6471

題目:

編寫乙個 sql 查詢,來刪除 person 表中所有重複的電子郵箱,重複的郵箱裡只保留 id 最小 的那個。

±—±-----------------+

| id | email |

±—±-----------------+

| 1 | [email protected] |

| 2 | [email protected] |

| 3 | [email protected] |

±—±-----------------+

id 是這個表的主鍵。

例如,在執行你的查詢語句之後,上面的 person 表應返回以下幾行:

±—±-----------------+

| id | email |

±—±-----------------+

| 1 | [email protected] |

| 2 | [email protected] |

±—±-----------------+

題解:題目要求我們保留重複郵箱中id最小的,刪除其它的,那麼我們使用分組並在在輸出時只顯示每個分組中id最小的,這些就是我們需要保留的。因此在外層中使用not in就可以刪除。

需要額外注意的,group by的值一定要在select的field**現,因此外面加了一層select。

delete

from person where id notin(

select id from

(select

min(id) id from person group

by email) t)

;

leetcode 196 刪除重複的電子郵箱

編寫乙個sql查詢來刪除person表中所有重複的電子郵件,在重複的郵件中只保留id最小的郵件。id email 1 john example.com 2 bob example.com 3 john example.com id是這個表的主鍵.例如,在執行查詢之後,上面的person表應顯示以下幾...

Leetcode 196 刪除重複的電子郵件

196 刪除重複的電子郵件 編寫sql查詢以刪除名為表的所有重複電子郵件條目person,並僅根據其最小 id保留唯一的電子郵件。id 電郵 1 john example.com 2 bob example.com 3 john example.com id是此表的主鍵列。例如,執行查詢後,上per...

LeetCode 196 打家劫舍

你是乙個專業的小偷,計畫偷竊沿街的房屋。每間房內都藏有一定的現金,影響你偷竊的唯一制約因素就是相鄰的房屋裝有相互連通的防盜系統,如果兩間相鄰的房屋在同一晚上被小偷闖入,系統會自動報警。給定乙個代表每個房屋存放金額的非負整數陣列,計算你在不觸動警報裝置的情況下,能夠偷竊到的最高金額。示例 1 輸入 1...