MySQL에서 동일한 값이 여러 개 있을 때 하나만 선택하기
테이블에 같은 값이 여러 번 저장되어 있을 때, 중복을 제거하고 고유한 값만 한 번씩 조회해야 하는 경우가 자주 있습니다. MySQL에서는 DISTINCT 키워드를 사용하면 간단하게 해결할 수 있습니다. 이번 글에서는 동일한 값이 5개 저장된 테이블에서 단일 값을 조회하는 방법을 예제와 함께 살펴보겠습니다.
1. 테이블 생성
먼저 예제에 사용할 테이블을 생성합니다.
mysql> create table DemoTable800 ( Value int ); Query OK, 0 rows affected (0.59 sec)
2. 데이터 삽입
INSERT 명령어를 사용하여 동일한 값(10)을 5개 삽입합니다.
mysql> insert into DemoTable800 values(10); Query OK, 1 row affected (0.18 sec) mysql> insert into DemoTable800 values(10); Query OK, 1 row affected (0.10 sec) mysql> insert into DemoTable800 values(10); Query OK, 1 row affected (0.10 sec) mysql> insert into DemoTable800 values(10); Query OK, 1 row affected (0.20 sec) mysql> insert into DemoTable800 values(10); Query OK, 1 row affected (0.10 sec)
3. 전체 데이터 확인
SELECT 문으로 테이블의 모든 레코드를 조회하면 다음과 같이 동일한 값이 5개 출력됩니다.
mysql> select *from DemoTable800;
실행 결과:
+-------+ | Value | +-------+ | 10 | | 10 | | 10 | | 10 | | 10 | +-------+ 5 rows in set (0.00 sec)
4. DISTINCT로 중복 제거 후 단일 값 조회
중복된 값 중 하나만 선택하려면 SELECT DISTINCT 쿼리를 사용합니다.
mysql> select distinct Value from DemoTable800;
실행 결과:
+-------+ | Value | +-------+ | 10 | +-------+ 1 row in set (0.00 sec)
정리
DISTINCT 키워드는 지정한 컬럼의 중복 값을 제거하고 고유한 값만 반환합니다. 위 예제처럼 같은 값이 여러 개 저장되어 있어도, SELECT DISTINCT 컬럼명 FROM 테이블명; 형태로 쿼리를 작성하면 단 하나의 값만 깔끔하게 조회할 수 있습니다. 여러 컬럼에도 적용할 수 있으며, 이 경우 해당 컬럼들의 조합 기준으로 중복이 제거됩니다.