SELECT DISTINCT
1. SELECT DISTINCT
DISTINCT는 중복된 데이터를 제거하는 키워드입니다. SELECT문을 사용할 때, 중복된 데이터를 제거하고 싶을 때 사용합니다.
SELECT 상품ID FROM 주문상세;
SELECT 상품ID FROM 주문상세;
위와 같이 작성하면 주문상세 테이블의 상품ID가 중복되어 나타납니다. 데이터 2
를 찾아보시면 맨 위에서 2번째에도 2가 있고, 하단에 2
가 또 있는 것을 알 수 있습니다. 만약 요구사항이 아래와 같다면 이렇게 중복된 데이터가 나타나면 안됩니다.
- 요구사항: "이번 달에 고객이 어떤 상품을 주문했는지 알고 싶어요."
이럴 때 DISTINCT를 사용하면 중복된 데이터를 제거하고 데이터 목록을 출력할 수 있습니다.
SELECT DISTINCT 상품ID FROM 주문상세;
SELECT DISTINCT 상품ID FROM 주문상세;
중복이 제거된 것을 볼 수 있습니다.
2. 중복이 얼마나 제거되어 있는지 확인하기
중복이 얼마나 제거되었는지 확인하려면 COUNT() 함수를 사용하면 됩니다.
SELECT COUNT(DISTINCT 상품ID) FROM 주문상세;
SELECT COUNT(DISTINCT 상품ID) FROM 주문상세;
원본의 데이터는 아래와 같이 확인이 가능합니다.
SELECT COUNT(상품ID) FROM 주문상세;
SELECT COUNT(상품ID) FROM 주문상세;
이를 한 번에 연산할 수도 있습니다.
SELECT COUNT(상품ID) - COUNT(DISTINCT 상품ID) FROM 주문상세;
SELECT COUNT(상품ID) - COUNT(DISTINCT 상품ID) FROM 주문상세;