当前位置:   article > 正文

LeetCode //SQL - 196. Delete Duplicate Emails

LeetCode //SQL - 196. Delete Duplicate Emails

196. Delete Duplicate Emails

Table: Person

±------------±--------+
| Column Name | Type |
±------------±--------+
| id | int |
| email | varchar |
±------------±--------+
id is the primary key (column with unique values) for this table.
Each row of this table contains an email. The emails will not contain uppercase letters.

Write a solution to delete all duplicate emails, keeping only one unique email with the smallest id.

For SQL users, please note that you are supposed to write a DELETE statement and not a SELECT one.

For Pandas users, please note that you are supposed to modify Person in place.

After running your script, the answer shown is the Person table. The driver will first compile and run your piece of code and then show the Person table. The final order of the Person table does not matter.

The result format is in the following example.
 

Example 1:

Input:
Person table:
±—±-----------------+
| id | email |
±—±-----------------+
| 1 | john@example.com |
| 2 | bob@example.com |
| 3 | john@example.com |
±—±-----------------+
Output:
±—±-----------------+
| id | email |
±—±-----------------+
| 1 | john@example.com |
| 2 | bob@example.com |
±—±-----------------+
Explanation: john@example.com is repeated two times. We keep the row with the smallest Id = 1.

From: LeetCode
Link: 196. Delete Duplicate Emails


Solution:

Ideas:
  1. DELETE p1: This specifies that we want to delete rows from the table alias p1.
  2. FROM Person p1 JOIN Person p2: We join the Person table with itself.
  3. ON p1.email = p2.email AND p1.id > p2.id: This condition ensures that we are only deleting rows where the email is the same but the id of p1 is greater than the id of p2. This effectively keeps the row with the smallest id for each email.
Code:
DELETE p1 
FROM Person p1
JOIN Person p2 
ON p1.email = p2.email AND p1.id > p2.id;
  • 1
  • 2
  • 3
  • 4
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/799580
推荐阅读
相关标签
  

闽ICP备14008679号