【Leetcode】196. 중복 이메일 삭제
5095 단어 데이터베이스
제목 설명
SQL 조회를 작성하여 Person 테이블의 모든 중복된 전자 메일박스를 삭제하고, 중복된 메일박스에는 Id의 가장 작은 것만 보존합니다.
+----+------------------+
| Id | Email |
+----+------------------+
| 1 | [email protected] |
| 2 | [email protected] |
| 3 | [email protected] |
+----+------------------+
Id 。
예를 들어, 쿼리 문구를 실행한 후 위의 Person 테이블은 다음 행을 반환해야 합니다.
+----+------------------+
| Id | Email |
+----+------------------+
| 1 | [email protected] |
| 2 | [email protected] |
+----+------------------+
MySQL 스크립트
-- ----------------------------
-- Table structure for `person`
-- ----------------------------
DROP TABLE IF EXISTS `person`;
CREATE TABLE `person` (
`Id` int(11) DEFAULT NULL,
`Email` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- ----------------------------
-- Records of person
-- ----------------------------
INSERT INTO `person` VALUES ('1','[email protected]');
INSERT INTO `person` VALUES ('2','[email protected]');
INSERT INTO `person` VALUES ('3','[email protected]');
본제 대답
조회 목표: 기록 조회 범위를 삭제합니다:Person표 조회 조건: 모든 중복된 전자 메일을 삭제하고, 중복된 메일에는 Id의 가장 작은 것만 보존합니다.분명히 이 조회 조건을 통해 두 개의 and 관계의 조건을 추출할 수 있다. (1) 모든 중복된 전자 메일박스를 찾아내고 (2) Id가 큰 중복된 메일박스를 삭제한다.
p1.Email = p2.Email
; p1.Id > p2.Id
# Write your MySQL query statement below
DELETE p1
FROM Person p1,Person p2
WHERE (p1.Email = p2.Email) AND (p1.Id > p2.Id);
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
SQLite의 query로 망설임이것은 내가 처음 안드로이드 응용 프로그램 개발에서 망설이고, 그 후 해결 된 방법을 비망록으로 철자하고 있습니다. java에서 SQLite를 이용한 애플리케이션을 작성하는 동안 EditText에 입력된 item이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.