[MySQL] SELECT DISTINCT 문법 사용법 및 예제 - 테이블 데이터 중복 제거

남양주개발자

·

2021. 3. 5. 09:08

728x90
반응형

[MySQL] SELECT DISTINCT 문법 사용법 및 예제 - 테이블 데이터 중복 제거

MySQL에서는 SELECT DISTINCT문을 활용해 데이터베이스 테이블의 데이터를 중복 제거합니다. 이번 포스팅에서는 SELECT DISTINCT문의 기본문법과 실제 예시를 활용해 DISTINCT문을 사용하는 방법에 대해서 소개하도록 하겠습니다.

문법

SELECT DISTINCT 칼럼1, 칼럼2, ...
FROM 테이블명;

설명

FROM 절에는 우리가 원하는 데이터를 가져올 테이블의 이름을 넣습니다. 테이블의 데이터를 가져올 때 우리가 원하는 칼럼(Column)을 지정해서 가져올수도 있고, 전체를 가져올 수 있습니다. SELECT 절 바로 뒤에 DISTINCT 문을 넣고 그 뒤에 가져오길 원하는 칼럼을 나열하면 중복값이 제거된 데이터를 가져올 수 있습니다.

예시

아래는 데이터베이스 "coins" 테이블 데이터 구성 예시입니다. 칼럼은 id, korean_name, english_name, pair, base_currency_code, market_state으로 구성되어 있습니다.

id korean_name english_name pair base_currency_code market_state
1 비트코인 Bitcoin BTC/KRW BTC ACTIVE
2 이더리움 Ethereum ETH/KRW ETH DELISTED
3 네오 NEO NEO/BTC NEO ACTIVE
4 라이트코인 Litecoin LTC/BTC LTC ACTIVE
5 리플 Ripple XRP/BTC XRP ACTIVE
6 이더리움클래식 Ethereum Classic ETC/BTC ETC ACTIVE
7 베이직어텐션토큰 Basic Attention Token BAT/BTC BAT ACTIVE
8 스텔라루멘 Lumen XLM/BTC XLM ACTIVE
9 에이다 Ada ADA/USDT ADA ACTIVE
10 스트라티스 Stratis STRAX/KRW STRAX ACTIVE

DISTINCT 문을 사용하지 않을 경우 예시

DISTINCT문을 사용하지 않았을 경우에 대한 예제입니다. SELECT문 뒤에 market_state만 넣고 실행하면 아래와 같이 market_state 칼럼의 데이터만 출력되는 것을 확인할 수 있습니다.

SELECT market_state FROM coins;

결과

market_state
ACTIVE
DELISTED
ACTIVE
ACTIVE
ACTIVE
ACTIVE
ACTIVE
ACTIVE
ACTIVE
ACTIVE

DISTINCT 문을 사용할 경우 예시 1

DISTINCT문을 사용할 경우에 대한 예제입니다. SELECT문 뒤에 DISTINCT 문만 추가로 넣어주면 됩니다.

SELECT DISTINCT market_state FROM coins;

결과

market_state
ACTIVE
DELISTED

DISTINCT 문을 사용할 경우 예시 2

DISTINCT 문과 COUNT 문을 함께 사용할 경우에 대한 예제입니다.

SELECT COUNT(DISTINCT market_state) FROM coins;

결과

COUNT(DISTINCT market_state)
2
728x90
반응형
그리드형

이 포스팅은 쿠팡파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

💖 저자에게 암호화폐로 후원하기 💖

아이콘을 클릭하면 지갑 주소가자동으로 복사됩니다