MySQL 선택 결과에서 중복 행을 지능적으로 결합

CraigH

내가 살고있는 단지에 거주하는 100 명이 넘는 소수의 MySQL 데이터베이스가 있습니다. 단순화하기 위해 단위 번호, 성, 이름, 전화 번호 및 이메일 주소가 포함됩니다. 이메일 주소는 질문과 관련이 없지만 같은 단위에서 같은 성을 가진 사람들이 다른 항목을 갖는 이유를 설명합니다.

다음은 몇 가지 샘플 데이터입니다.

UNIT,SURNAME,FIRST_NAME,PHONE
1,Evans,Bob,12345
2,Smith,Jane,23456
2,Smith,Jim,23456
3,Jones,Joe,45678
4,Jones,Jason,98765
5,Wong,Bill,95147
5,Lee,Jane,95147

위의 데이터를 요약하려면 :

  • 밥 에반스는 혼자 산다.
  • Jane & Jim Smith는 같은 유닛에서 함께 살고 같은 전화 번호를 가지고 있습니다 (그러나 다른 이메일 주소, 따라서 별도의 항목).
  • Joe Jones와 Jason Jones는 같은 성을 공유 함에도 불구하고 서로 다른 유닛에 살고 있으며 (분명히) 다른 전화 번호를 가지고 있습니다.
  • Bill Wong과 Jane Lee는 함께 살고 전화 번호는 같지만 성이 다릅니다.

동일한 전화 번호를 공유하는 동일한 성을 가진 두 사람을 지능적으로 인식하는 전화 목록 (성별로 정렬 됨)을 생성하는 선택 쿼리를 만들고 싶습니다 (동일한 단위 번호를 공유한다는 사실은 거의 가정하지만 실제 MySQL 쿼리와 관련이 없다고 생각) 결과에서 단일 행으로 결합하고 성이 다르지만 동일한 전화 번호를 가진 사람들은 분리됩니다. 즉, 위 데이터에 대한 선택 결과는 다음과 같습니다.

UNIT,SURNAME,FIRST_NAME,PHONE
1,Evans,Bob,12345
4,Jones,Jason,98765
3,Jones,Joe,45678
5,Lee,Jane,95147
2,Smith,Jane & Jim,23456
5,Wong,Bill,95147

일부 연구 는 내가 원하는 것을 거의 수행하는 다음 쿼리로 이어졌습니다.

SELECT unit, surname, phone,
group_concat(first_name order by first_name SEPARATOR ' & ') AS name
FROM owners
GROUP BY surname;

그러나 이는 Joe Jones의 전화 및 단위 번호 아래에 Joe Jones와 Jason Jones를 결합합니다.

3,Jones,Joe & Jason,45678

Joe Jones와 Jason Jones는 자신의 전화 번호가있는 별도의 항목을 유지하도록 쿼리를 구체화하고 싶습니다. 도움이되는 경우 각 행에 기본 키 "id"열이 있습니다.

어떤 제안이나 조언을 환영합니다. 매우 감사합니다.

크레이그

Akrys

절에 unit또는 phone열을 추가하려고합니다 group by.

예:

group by surname, unit

group by surname, phone

두 열을 모두 추가 할 수도 있습니다.

group by surname, unit, phone

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

mysql에서 여러 행을 선택하지만 각 ID에서 하나의 결과를 표시합니다.

분류에서Dev

결합을 수행 할 때 키 프레임의 중복에서 값을 임의로 선택

분류에서Dev

MySQL 여러 행의 선택한 열을 하나로 결합

분류에서Dev

MySQL 쿼리는 동일한 값에서 하나의 행을 선택합니다 (중복 만 선택).

분류에서Dev

정렬 된 결과 집합 (MySQL)에서 행 수를 선택하는 효율적인 방법

분류에서Dev

mysql은 x 필드에 중복이없는 모든 행을 선택합니다.

분류에서Dev

MYSQL의 중복 행에있는 모든 고유 값을 사용하여 중복 결과를 하나의 집합으로 가져옵니다.

분류에서Dev

MYSQL-행이 결합되지 않더라도 행 선택

분류에서Dev

조인 테이블의 최신 행을 기반으로 MySQL 결과 선택

분류에서Dev

중복을 제외한 결합 된 테이블에서 최신 항목 선택

분류에서Dev

MYSQL에서 중복 결과를 제거하는 Echo DISTINCT 행

분류에서Dev

MySQL의 내부 조인과 결합 된 왼쪽 조인에서 중복 방지

분류에서Dev

조인으로 복잡한 선택에서 mysql의 공통 열로 통합 된 여러 행을 얻는 방법

분류에서Dev

중복없이 2 선택을 결합하는 방법

분류에서Dev

Postgresql 선택 행 (결과)을 배열로

분류에서Dev

mysql 쿼리 결과를 스택하여 한 행을 다른 행으로 선택하는 방법

분류에서Dev

첫 번째 선택 쿼리 결과를 기반으로 두 개의 다른 선택 쿼리 결과 (Oracle)에서 하나의 값을 선택합니다.

분류에서Dev

중복 행 결합

분류에서Dev

중복 행을 단일 행으로 결합

분류에서Dev

mysql에서 잘못된 결과를 제공하는 테이블의 마지막 행에 대한 쿼리 선택

분류에서Dev

SQL의 복합 선택에서 행 연결

분류에서Dev

선택 결과에서 최대 값을 가진 행 선택

분류에서Dev

두 테이블을 결합하고 결과에서 선택

분류에서Dev

LEFT JOIN이있는 MySQL DISTINCT 쿼리는 기본 키로 중복 된 행을 선택합니다.

분류에서Dev

MySQL은 열의 행이 중복되는 경우에만 조건을 선택합니다.

분류에서Dev

mysql 결과에서 행 우선 순위 지정

분류에서Dev

R에서 열을 효율적이고 선택적으로 결합

분류에서Dev

팝업 창에서 선택한 결과 중복

분류에서Dev

팝업 창에서 선택한 결과 중복

Related 관련 기사

  1. 1

    mysql에서 여러 행을 선택하지만 각 ID에서 하나의 결과를 표시합니다.

  2. 2

    결합을 수행 할 때 키 프레임의 중복에서 값을 임의로 선택

  3. 3

    MySQL 여러 행의 선택한 열을 하나로 결합

  4. 4

    MySQL 쿼리는 동일한 값에서 하나의 행을 선택합니다 (중복 만 선택).

  5. 5

    정렬 된 결과 집합 (MySQL)에서 행 수를 선택하는 효율적인 방법

  6. 6

    mysql은 x 필드에 중복이없는 모든 행을 선택합니다.

  7. 7

    MYSQL의 중복 행에있는 모든 고유 값을 사용하여 중복 결과를 하나의 집합으로 가져옵니다.

  8. 8

    MYSQL-행이 결합되지 않더라도 행 선택

  9. 9

    조인 테이블의 최신 행을 기반으로 MySQL 결과 선택

  10. 10

    중복을 제외한 결합 된 테이블에서 최신 항목 선택

  11. 11

    MYSQL에서 중복 결과를 제거하는 Echo DISTINCT 행

  12. 12

    MySQL의 내부 조인과 결합 된 왼쪽 조인에서 중복 방지

  13. 13

    조인으로 복잡한 선택에서 mysql의 공통 열로 통합 된 여러 행을 얻는 방법

  14. 14

    중복없이 2 선택을 결합하는 방법

  15. 15

    Postgresql 선택 행 (결과)을 배열로

  16. 16

    mysql 쿼리 결과를 스택하여 한 행을 다른 행으로 선택하는 방법

  17. 17

    첫 번째 선택 쿼리 결과를 기반으로 두 개의 다른 선택 쿼리 결과 (Oracle)에서 하나의 값을 선택합니다.

  18. 18

    중복 행 결합

  19. 19

    중복 행을 단일 행으로 결합

  20. 20

    mysql에서 잘못된 결과를 제공하는 테이블의 마지막 행에 대한 쿼리 선택

  21. 21

    SQL의 복합 선택에서 행 연결

  22. 22

    선택 결과에서 최대 값을 가진 행 선택

  23. 23

    두 테이블을 결합하고 결과에서 선택

  24. 24

    LEFT JOIN이있는 MySQL DISTINCT 쿼리는 기본 키로 중복 된 행을 선택합니다.

  25. 25

    MySQL은 열의 행이 중복되는 경우에만 조건을 선택합니다.

  26. 26

    mysql 결과에서 행 우선 순위 지정

  27. 27

    R에서 열을 효율적이고 선택적으로 결합

  28. 28

    팝업 창에서 선택한 결과 중복

  29. 29

    팝업 창에서 선택한 결과 중복

뜨겁다태그

보관