{ "data": { "question": { "questionId": "196", "questionFrontendId": "196", "categoryTitle": "Database", "boundTopicId": 1235, "title": "Delete Duplicate Emails", "titleSlug": "delete-duplicate-emails", "content": "

Table: Person

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

 

\n\n

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

\n\n

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

\n\n

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

\n\n

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.

\n\n

The result format is in the following example.

\n\n

 

\n

Example 1:

\n\n
\nInput: \nPerson table:\n+----+------------------+\n| id | email            |\n+----+------------------+\n| 1  | john@example.com |\n| 2  | bob@example.com  |\n| 3  | john@example.com |\n+----+------------------+\nOutput: \n+----+------------------+\n| id | email            |\n+----+------------------+\n| 1  | john@example.com |\n| 2  | bob@example.com  |\n+----+------------------+\nExplanation: john@example.com is repeated two times. We keep the row with the smallest Id = 1.\n
\n", "translatedTitle": "删除重复的电子邮箱", "translatedContent": "

表: Person

\n\n
\n+-------------+---------+\n| Column Name | Type    |\n+-------------+---------+\n| id          | int     |\n| email       | varchar |\n+-------------+---------+\nid 是该表的主键列(具有唯一值的列)。\n该表的每一行包含一封电子邮件。电子邮件将不包含大写字母。\n
\n\n

 

\n\n

编写解决方案 删除 所有重复的电子邮件,只保留一个具有最小 id 的唯一电子邮件。

\n\n

(对于 SQL 用户,请注意你应该编写一个 DELETE 语句而不是 SELECT 语句。)

\n\n

(对于 Pandas 用户,请注意你应该直接修改 Person 表。)

\n\n

运行脚本后,显示的答案是 Person 表。驱动程序将首先编译并运行您的代码片段,然后再显示 Person 表。Person 表的最终顺序 无关紧要

\n\n

返回结果格式如下示例所示。

\n\n

 

\n\n

示例 1:

\n\n
\n输入: \nPerson 表:\n+----+------------------+\n| id | email            |\n+----+------------------+\n| 1  | john@example.com |\n| 2  | bob@example.com  |\n| 3  | john@example.com |\n+----+------------------+\n输出: \n+----+------------------+\n| id | email            |\n+----+------------------+\n| 1  | john@example.com |\n| 2  | bob@example.com  |\n+----+------------------+\n解释: john@example.com重复两次。我们保留最小的Id = 1。
\n", "isPaidOnly": false, "difficulty": "Easy", "likes": 789, "dislikes": 0, "isLiked": null, "similarQuestions": "[]", "contributors": [], "langToValidPlayground": "{\"cpp\": false, \"java\": false, \"python\": false, \"python3\": false, \"mysql\": false, \"mssql\": false, \"oraclesql\": false, \"c\": false, \"csharp\": false, \"javascript\": false, \"typescript\": false, \"bash\": false, \"php\": false, \"swift\": false, \"kotlin\": false, \"dart\": false, \"golang\": false, \"ruby\": false, \"scala\": false, \"html\": false, \"pythonml\": false, \"rust\": false, \"racket\": false, \"erlang\": false, \"elixir\": false, \"pythondata\": false, \"react\": false, \"vanillajs\": false, \"postgresql\": false}", "topicTags": [ { "name": "Database", "slug": "database", "translatedName": "数据库", "__typename": "TopicTagNode" } ], "companyTagStats": null, "codeSnippets": [ { "lang": "MySQL", "langSlug": "mysql", "code": "# Write your MySQL query statement below", "__typename": "CodeSnippetNode" }, { "lang": "MS SQL Server", "langSlug": "mssql", "code": "/* Write your T-SQL query statement below */", "__typename": "CodeSnippetNode" }, { "lang": "Oracle", "langSlug": "oraclesql", "code": "/* Write your PL/SQL query statement below */", "__typename": "CodeSnippetNode" }, { "lang": "Pandas", "langSlug": "pythondata", "code": "import pandas as pd\n\ndef delete_duplicate_emails(person: pd.DataFrame) -> None:\n ", "__typename": "CodeSnippetNode" }, { "lang": "PostgreSQL", "langSlug": "postgresql", "code": "-- Write your PostgreSQL query statement below", "__typename": "CodeSnippetNode" } ], "stats": "{\"totalAccepted\": \"236.2K\", \"totalSubmission\": \"348.9K\", \"totalAcceptedRaw\": 236235, \"totalSubmissionRaw\": 348910, \"acRate\": \"67.7%\"}", "hints": [], "solution": { "id": "98", "canSeeDetail": true, "__typename": "ArticleNode" }, "status": null, "sampleTestCase": "{\"headers\": {\"Person\": [\"id\", \"email\"]}, \"rows\": {\"Person\": [[1, \"john@example.com\"], [2, \"bob@example.com\"], [3, \"john@example.com\"]]}}", "metaData": "{\"mysql\":[\"Create table If Not Exists Person (Id int, Email varchar(255))\"],\"mssql\":[\"Create table Person (Id int, Email varchar(255))\"],\"oraclesql\":[\"Create table Person (Id int, Email varchar(255))\"],\"database\":true,\"manual\":true,\"name\":\"delete_duplicate_emails\",\"pythondata\":[\"Person = pd.DataFrame([], columns=['id', 'email']).astype({'id':'int64', 'email':'object'})\"],\"postgresql\":[\"Create table If Not Exists Person (Id int, Email varchar(255))\\n\"],\"database_schema\":{\"Person\":{\"Id\":\"INT\",\"Email\":\"VARCHAR(255)\"}}}", "judgerAvailable": true, "judgeType": "large", "mysqlSchemas": [ "Create table If Not Exists Person (Id int, Email varchar(255))", "Truncate table Person", "insert into Person (id, email) values ('1', 'john@example.com')", "insert into Person (id, email) values ('2', 'bob@example.com')", "insert into Person (id, email) values ('3', 'john@example.com')" ], "enableRunCode": true, "envInfo": "{\"mysql\":[\"MySQL\",\"

\\u7248\\u672c\\uff1aMySQL 8.0<\\/code><\\/p>\"],\"mssql\":[\"MS SQL Server\",\"

mssql server 2019.<\\/p>\"],\"oraclesql\":[\"Oracle\",\"

Oracle Sql 11.2.<\\/p>\"],\"pythondata\":[\"Pandas\",\"

Python 3.10 with Pandas 2.0.2 and NumPy 1.25.0<\\/p>\"],\"postgresql\":[\"PostgreSQL\",\"

PostgreSQL 16<\\/p>\"]}", "book": null, "isSubscribed": false, "isDailyQuestion": false, "dailyRecordStatus": null, "editorType": "CKEDITOR", "ugcQuestionId": null, "style": "LEETCODE", "exampleTestcases": "{\"headers\": {\"Person\": [\"id\", \"email\"]}, \"rows\": {\"Person\": [[1, \"john@example.com\"], [2, \"bob@example.com\"], [3, \"john@example.com\"]]}}", "__typename": "QuestionNode" } } }