>데이터 베이스 >MySQL 튜토리얼 >SQL에서 중복 ID와 고유 열 값이 있는 행을 선택하는 방법은 무엇입니까?

SQL에서 중복 ID와 고유 열 값이 있는 행을 선택하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-27 05:20:15994검색

How to Select Rows with Duplicate IDs and Unique Column Values in SQL?

중복 ID와 고유한 열 값이 있는 행 추출

쿼리:

다음을 고려하세요. 수행원 테이블:

+------+------+
| ARIDNR | LIEFNR |
+------+------+
| 1     | A     |
+------+------+
| 2     | A     |
+------+------+
| 3     | A     |
+------+------+
| 1     | B     |
+------+------+
| 2     | B     |
+------+------+

목표는 ARIDNR 열에 중복 값이 ​​있고 LIEFNR 열에 고유한 값이 있는 모든 행을 검색하는 것입니다.

해결책:

이 쿼리를 효과적으로 실행하려면 다음을 따르세요. 단계:

SELECT *
FROM Table
WHERE ARIDNR IN (
    SELECT ARIDNR
    FROM Table
    GROUP BY ARIDNR
    HAVING COUNT(DISTINCT LIEFNR) > 1
)

설명:

이 쿼리는 하위 쿼리를 활용하여 두 번 이상 발생하는 ARIDNR을 식별합니다. 외부 쿼리에서는 식별된 ARIDNR이 있는 모든 행을 검색합니다.

  1. 하위 쿼리:

    • ARIDNR을 기준으로 행을 그룹화합니다.
    • HAVING 절은 둘 이상의 고유한 LIEFNR이 있는 ARIDNR을 필터링합니다. value.
  2. 외부 쿼리:

    • 기본 쿼리는 ARIDNR이 하위 쿼리를 만족하는 행만 포함하도록 테이블을 필터링합니다. 조건.

결과:

쿼리의 출력은 다음과 같습니다.

+------+------+
| ARIDNR | LIEFNR |
+------+------+
| 1     | A     |
+------+------+
| 1     | B     |
+------+------+
| 2     | A     |
+------+------+
| 2     | B     |
+------+------+

이 결과 중복된 ARIDNR과 고유한 LIEFNR 값이 있는 모든 행을 성공적으로 캡처합니다.

위 내용은 SQL에서 중복 ID와 고유 열 값이 있는 행을 선택하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.