Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL DISTINCT로 중복된 값 중 하나만 조회하는 방법

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 테이블명; 형태로 쿼리를 작성하면 단 하나의 값만 깔끔하게 조회할 수 있습니다. 여러 컬럼에도 적용할 수 있으며, 이 경우 해당 컬럼들의 조합 기준으로 중복이 제거됩니다.