MySQL의 여러 열에서 고유한 값 선택
데이터베이스 작업 시 여러 열에서 고유한 값 조합을 검색해야 하는 경우가 많습니다. 그러나 DISTINCT 키워드를 사용하면 항상 원하는 결과를 얻을 수 있는 것은 아닙니다. 이 문서에서는 MySQL 데이터베이스의 두 열에서 고유한 값을 선택하는 대체 접근 방식을 살펴봅니다.
"foo_bar"라는 이름의 다음 테이블을 고려해 보세요.
foo | bar |
---|---|
a | c |
c | f |
d | a |
c | a |
f | c |
a | c |
d | a |
a | c |
c | a |
f | c |
다음 SQL 문을 사용하여 이 테이블을 쿼리합니다. :
<code class="sql">SELECT DISTINCT foo, bar FROM foo_bar;</code>
다음 결과를 생성합니다.
foo | bar |
---|---|
a | c |
c | f |
d | a |
c | a |
f | c |
동안 이 쿼리는 각 고유 값 조합의 인스턴스 하나만 반환되도록 보장하지만 두 열에서 값이 바뀌는 중복성을 제거하지는 않습니다. 예를 들어 "a c"와 "c a"는 모두 서로 다른 조합이지만 동일한 데이터를 참조합니다.
이 문제를 해결하려면 GROUP BY 절을 대신 사용할 수 있습니다.
<code class="sql">SELECT foo, bar FROM foo_bar GROUP BY foo, bar;</code>
이 쿼리는 다음 결과를 반환합니다.
foo | bar |
---|---|
a | c |
c | f |
d | a |
보시다시피 GROUP BY 절은 모든 중복 행을 단일 행으로 결합합니다. 행을 사용하여 반복을 효과적으로 제거하고 foo 및 bar 열의 값의 고유한 조합을 제공합니다.
위 내용은 MySQL의 여러 열에서 고유한 값 조합을 선택하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!