MySQL의 여러 열에서 고유한 값 선택
데이터베이스 작업 시 여러 열에서 고유한 값 조합을 검색해야 하는 경우가 많습니다. 그러나 DISTINCT 키워드를 사용하면 항상 원하는 결과를 얻을 수 있는 것은 아닙니다. 이 문서에서는 MySQL 데이터베이스의 두 열에서 고유한 값을 선택하는 대체 접근 방식을 살펴봅니다.
"foo_bar"라는 이름의 다음 테이블을 고려하세요.
foo | 바 |
---|---|
a | c |
c | f |
d | a |
c | a |
f | c |
a | c |
d | a |
a | c |
c | a |
f | c |
다음 SQL 문을 사용하여 이 테이블을 쿼리합니다.
SELECT DISTINCT foo, bar FROM foo_bar;
는 다음 결과를 생성합니다.
foo | bar |
---|---|
a | c |
c | f |
d | a |
c | a |
f | c |
이 쿼리는 각 고유 값 조합의 인스턴스 하나만 반환되도록 보장하지만 두 열에서 값이 바뀌는 중복성을 제거하지는 않습니다. 예를 들어 "a c"와 "c a"는 모두 별개의 조합이지만 동일한 데이터를 참조합니다.
이 문제를 해결하려면 대신 GROUP BY 절을 사용할 수 있습니다.
SELECT foo, bar FROM foo_bar GROUP BY foo, bar;
이 쿼리는 다음 결과를 반환합니다.
foo | bar |
---|---|
a | c |
c | f |
d | a |
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3