중복 행을 찾고 두 ID를 모두 반환하는 SQL 쿼리

롭 스탠포드

고객 테이블이 있습니다.

id | name | email
--------------------------
 1 | Rob  | [email protected]
 2 | Jim  | [email protected]
 3 | Dave | [email protected]
 4 | Fred | [email protected]
 5 | Ben  | [email protected]
 6 | Tom  | [email protected]

중복 된 이메일 주소가있는 모든 행을 반환하는 SQL 쿼리를 작성하려고하는데 ... 쿼리 결과가 원래 ID 중복 ID 를 반환하고 싶습니다 . (원래 ID는 중복 이메일의 첫 번째 발생입니다.)

원하는 결과 :

original_id | duplicate_id | email
-------------------------------------------
          1 |            2 | [email protected]
          3 |            5 | [email protected]
          3 |            6 | [email protected]

지금까지 내 연구에 따르면 일종의 자체 조인이 포함될 수 있지만 실제 구현에 갇혀 있습니다. 누구든지 도울 수 있습니까?

StanislavL
select
  orig.original_id,
  t.id as duplicate_id,
  orig.email
from t
  inner join (select min(id) as original_id, email
              from t
              group by email
              having count(*)>1) orig on orig.email = t.email
having t.id!=orig.original_id

하위 쿼리를 통해 중복 된 이메일의 모든 ID를 찾을 수 있습니다.

그런 다음 이메일로 하위 쿼리에 가입하고 각각에 대해 최소한의 ID를 원본으로 사용합니다.

업데이트 : http://rextester.com/BLIHK20984 복제 @Tim Biegeleisen의 답변

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

두 개의 SQL 쿼리를 다른 위치와 결합하고 고유 한 행을 반환

분류에서Dev

중복을 반환하는 SQL 쿼리

분류에서Dev

빈 값을 지원하고 모두를 반환하는 몽구스 쿼리를 만드는 방법

분류에서Dev

두 테이블을 쿼리하고 결과를 반복하는 PLSQL 절차

분류에서Dev

SQL (Oracle)-모든 중복 항목을 찾고 가장 최근에 생성 된 항목 만 남겨두기위한 쿼리

분류에서Dev

SQL 쿼리 및 두 행을 하나로 반환

분류에서Dev

중복 행을 반환하는 SQL Server 쿼리

분류에서Dev

Excel : 두 열을 제외하고 중복 된 행 찾기

분류에서Dev

열에서 모든 중복을 찾고 동일한 셀에서 왼쪽으로 오프셋을 사용하여 모두를 반환합니다.

분류에서Dev

찾을 수없는 경우 SQL 쿼리가 null을 반환하는 두 개의 테이블을 조인

분류에서Dev

파워 쿼리에서 행을 복제하지 않고 두 쿼리 병합

분류에서Dev

두 검색 값에서 일치하는 항목을 반환하는 SQL 쿼리를 작성하는 방법

분류에서Dev

중복 개수 및 고유 행 모두 반환

분류에서Dev

중복 값이있는 행 하나를 제외하고 모두 제거

분류에서Dev

MySQL : 다른 쿼리 결과를 쿼리하고 두 결과를 모두 반환합니까?

분류에서Dev

결과 행을 결합하지 않고 MySQL의 두 SQL 쿼리를 다른 열과 결합하는 방법

분류에서Dev

두 개의 laravel 모델을 사용하여 쿼리하고 결과를 반환합니다.

분류에서Dev

두 열 사이에서 고유 한 값의 개수를 찾는 SQL 쿼리

분류에서Dev

중복을 반환하지 않는 중첩 쿼리에도 불구하고 중복을 반환하는 쿼리

분류에서Dev

두 열의 고유 한 조합에 대한 레코드 수를 반환하는 SQL 쿼리

분류에서Dev

고유 ID가있는 두 쿼리의 합집합을 찾는 방법

분류에서Dev

R 연속 중복 홀수 행을 합하고 첫 번째를 제외하고 모두 제거

분류에서Dev

R 연속 중복 행을 합하고 첫 번째를 제외하고 모두 제거

분류에서Dev

두 테이블을 조인하고 ApprovedByLevel을 기반으로 최신 데이터를 가져 오는 SQL 쿼리

분류에서Dev

두 쿼리의 결과를 비교하고 누락 된 행 반환

분류에서Dev

두 테이블을 사용하여 SQL 쿼리를 수행하는 방법

분류에서Dev

두 테이블에서 행을 반환하기위한 SQL 쿼리

분류에서Dev

MySQL은 세 번째 쿼리의 결과에 따라 두 SQL 쿼리 중 하나를 실행합니다.

분류에서Dev

중복 값을 반환하는 SQL 쿼리

Related 관련 기사

  1. 1

    두 개의 SQL 쿼리를 다른 위치와 결합하고 고유 한 행을 반환

  2. 2

    중복을 반환하는 SQL 쿼리

  3. 3

    빈 값을 지원하고 모두를 반환하는 몽구스 쿼리를 만드는 방법

  4. 4

    두 테이블을 쿼리하고 결과를 반복하는 PLSQL 절차

  5. 5

    SQL (Oracle)-모든 중복 항목을 찾고 가장 최근에 생성 된 항목 만 남겨두기위한 쿼리

  6. 6

    SQL 쿼리 및 두 행을 하나로 반환

  7. 7

    중복 행을 반환하는 SQL Server 쿼리

  8. 8

    Excel : 두 열을 제외하고 중복 된 행 찾기

  9. 9

    열에서 모든 중복을 찾고 동일한 셀에서 왼쪽으로 오프셋을 사용하여 모두를 반환합니다.

  10. 10

    찾을 수없는 경우 SQL 쿼리가 null을 반환하는 두 개의 테이블을 조인

  11. 11

    파워 쿼리에서 행을 복제하지 않고 두 쿼리 병합

  12. 12

    두 검색 값에서 일치하는 항목을 반환하는 SQL 쿼리를 작성하는 방법

  13. 13

    중복 개수 및 고유 행 모두 반환

  14. 14

    중복 값이있는 행 하나를 제외하고 모두 제거

  15. 15

    MySQL : 다른 쿼리 결과를 쿼리하고 두 결과를 모두 반환합니까?

  16. 16

    결과 행을 결합하지 않고 MySQL의 두 SQL 쿼리를 다른 열과 결합하는 방법

  17. 17

    두 개의 laravel 모델을 사용하여 쿼리하고 결과를 반환합니다.

  18. 18

    두 열 사이에서 고유 한 값의 개수를 찾는 SQL 쿼리

  19. 19

    중복을 반환하지 않는 중첩 쿼리에도 불구하고 중복을 반환하는 쿼리

  20. 20

    두 열의 고유 한 조합에 대한 레코드 수를 반환하는 SQL 쿼리

  21. 21

    고유 ID가있는 두 쿼리의 합집합을 찾는 방법

  22. 22

    R 연속 중복 홀수 행을 합하고 첫 번째를 제외하고 모두 제거

  23. 23

    R 연속 중복 행을 합하고 첫 번째를 제외하고 모두 제거

  24. 24

    두 테이블을 조인하고 ApprovedByLevel을 기반으로 최신 데이터를 가져 오는 SQL 쿼리

  25. 25

    두 쿼리의 결과를 비교하고 누락 된 행 반환

  26. 26

    두 테이블을 사용하여 SQL 쿼리를 수행하는 방법

  27. 27

    두 테이블에서 행을 반환하기위한 SQL 쿼리

  28. 28

    MySQL은 세 번째 쿼리의 결과에 따라 두 SQL 쿼리 중 하나를 실행합니다.

  29. 29

    중복 값을 반환하는 SQL 쿼리

뜨겁다태그

보관