> 데이터 베이스 > MySQL 튜토리얼 > SQL에서 여러 열의 고유한 조합을 어떻게 선택할 수 있습니까?

SQL에서 여러 열의 고유한 조합을 어떻게 선택할 수 있습니까?

DDD
풀어 주다: 2025-01-23 05:41:09
원래의
908명이 탐색했습니다.

How Can I Select Unique Combinations of Multiple Columns in SQL?

SQL에서 고유한 열 조합 검색

이 가이드에서는 SQL 데이터베이스 내에서 여러 열의 고유한 조합을 효율적으로 선택하는 방법을 보여줍니다. 특정 값 조합을 기반으로 고유한 행이 필요할 때 필요합니다.

방법 1: 활용 SELECT DISTINCT

가장 간단한 접근 방식은 DISTINCT 키워드를 활용하는 것입니다. 지정된 열을 기준으로 고유한 행만 직접 선택합니다.

예를 들어 saleprice 테이블에서 saledatesales의 고유한 조합을 얻으려면 다음을 수행하세요.

<code class="language-sql">SELECT DISTINCT saleprice, saledate FROM sales;</code>
로그인 후 복사

방법 2: DISTINCTGROUP BY

결합

간단하고 고유한 행을 선택하려면 DISTINCT만으로도 충분하지만, GROUP BY과 결합하면 특히 추가 데이터 조작이 필요할 때 더 많은 제어력과 유연성을 제공합니다. GROUP BY은 지정된 열을 기준으로 행을 그룹화하고 DISTINCT은 그룹당 하나의 행만 반환되도록 합니다. 이 방법은 더욱 복잡한 시나리오에 특히 유용합니다.

방법 3: 고급 작업을 위한 하위 쿼리 사용

하위 쿼리는 특히 업데이트 또는 필터링 전에 그룹화된 데이터에 대해 추가 작업을 수행해야 하는 경우 고유한 조합을 선택하는 강력한 메커니즘을 제공합니다.

예를 들어 statussaleprice:saledate을 기반으로 고유 매출에 대한

열을 업데이트하는 것을 고려해 보세요.
<code class="language-sql">UPDATE sales
SET status = 'ACTIVE'
WHERE id IN (
    SELECT id
    FROM sales S
    INNER JOIN (
        SELECT saleprice, saledate
        FROM sales
        GROUP BY saleprice, saledate
        HAVING COUNT(*) = 1
    ) T ON S.saleprice = T.saleprice AND S.saledate = T.saledate
);</code>
로그인 후 복사

이 쿼리의 하위 쿼리는 salepricesaledate을 사용하여 고유한 GROUP BYHAVING COUNT(*) = 1 조합을 식별합니다. 그런 다음 기본 쿼리는 해당 판매 기록의 status를 'ACTIVE'로 업데이트합니다. 이 접근 방식을 사용하면 테이블을 업데이트하기 전에 유연한 데이터 조작 및 필터링이 가능합니다. HAVING 절은 정말 고유한 조합(한 번만 나타나는 조합)만 고려되도록 보장합니다.

위 내용은 SQL에서 여러 열의 고유한 조합을 어떻게 선택할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿