>데이터 베이스 >MySQL 튜토리얼 >MySQL의 여러 열에서 고유한 값을 효율적으로 검색하는 방법은 무엇입니까?

MySQL의 여러 열에서 고유한 값을 효율적으로 검색하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-25 15:51:14921검색

How to Efficiently Retrieve Distinct Values from Multiple Columns in MySQL?

MySQL에서 DISTINCT를 사용하여 여러 열에서 고유한 값 식별

MySQL에서는 고유한 값만 검색해야 하는 시나리오가 발생할 수 있습니다. 테이블에 있는 여러 열의 값입니다. 그러나 DISTINCT 키워드만 사용하면 항상 원하는 결과를 얻을 수 있는 것은 아닙니다. 이 문서의 목표는 이 문제를 명확히 하고 여러 열에 대해 개별적으로 고유한 값을 선택하기 위한 솔루션을 제공하는 것입니다.

언급한 대로 SELECT DISTINCT a,b,c,d FROM my_table을 사용하면 작동하지 않습니다. 네 개의 열이 모두 고유한 값을 갖는 행입니다. 각 열에 개별적으로 고유한 값이 필요하기 때문에 이는 원하는 것이 아닙니다.

이를 달성하려면 DISTINCT와 함께 GROUP BY 절을 활용할 수 있습니다. 작동 방식은 다음과 같습니다.

SELECT DISTINCT a, b
FROM my_table
GROUP BY a, b;

이 쿼리에서는 DISTINCT 키워드가 GROUP BY 절 내의 a와 b에 적용됩니다. 이는 테이블에 있는 a와 b 값의 각 고유한 조합에 대해 쿼리가 단일 행만 반환함을 의미합니다. 결과는 a와 b 값의 모든 개별 쌍 목록이 됩니다.

필요한 경우 GROUP BY 절에 추가 열을 추가할 수 있습니다. 예를 들어, a, b, c, d 네 개의 열 모두의 고유한 값을 얻으려면 다음을 사용합니다.

SELECT DISTINCT a, b, c, d
FROM my_table
GROUP BY a, b, c, d;

이렇게 하면 다음과 같은 네 열의 고유한 조합 목록이 모두 제공됩니다.

이 접근 방식은 특정 행의 값이 반드시 반환되는 것이 아니라 고유한 값 조합을 반환한다는 점에 유의하는 것이 중요합니다. 각 그룹에 대해 하나의 행만 반환되도록 하려면 GROUP BY 절 뒤에 LIMIT 1 절을 추가하면 됩니다.

위 내용은 MySQL의 여러 열에서 고유한 값을 효율적으로 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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