MariaDB / Query / DISTINCT / 중복 데이터 제거
DISTINCT를 이용하면 중복 값을 제거할 수 있습니다. 예를 들어 다음과 같은 test 테이블이 있다고 할 때...
SELECT * FROM test; +---------+---------+---------+ | Column1 | Column2 | Column3 | +---------+---------+---------+ | 1 | A | 1 | | 2 | B | 1 | | 3 | C | 2 | | 4 | D | 2 | | 5 | A | 1 | | 6 | B | 2 | | 7 | C | 1 | | 8 | D | 2 | +---------+---------+---------+
SELECT에 DISTINCT를 붙이면, 중복된 값을 제외하고 출력합니다.
SELECT DISTINCT Column2 FROM test; +---------+ | Column2 | +---------+ | A | | B | | C | | D | +---------+
SELECT DISTINCT Column3 FROM test; +---------+ | Column3 | +---------+ | 1 | | 2 | +---------+
주의할 점은 여러 열을 가져올 때, 모든 열의 값이 같아야 중복으로 본다는 것입니다.
SELECT DISTINCT Column2, Column3 FROM test; +---------+---------+ | Column2 | Column3 | +---------+---------+ | A | 1 | | B | 1 | | C | 2 | | D | 2 | | B | 2 | | C | 1 | +---------+---------+
물론 정렬도 가능합니다.
SELECT DISTINCT Column2 FROM test ORDER BY Column2 DESC; +---------+ | Column2 | +---------+ | D | | C | | B | | A | +---------+