SQL/기본 지식

[MySQL] 중복 제거하기 - DISTINCT, GROUP BY

뜌비뜌바밥 2024. 7. 22. 20:29

SQL에서 중복되는 행 중에 한 번만 표시하고 싶다면 DISTINCT, GROUP_BY 두 가지를 사용할 수 있다.

GROUP BY 보다는 DISTINCT로 중복을 제거하는 방법을 많이 사용하는 것 같다. 

 

DISTINCT 

 

먼저, DISTINCT는 SELECT 절에서 중복 표기를 하고 싶지 않은 컬럼명 앞에 붙여주면 된다.

중복을 제외할 때 가장 많이 사용되는 함수이다.

 

사용하는 방법은 아래와 같다.

SELECT DISTINCT SUBJECT_ID
FROM USERS

 

DISTINCT는 중복을 제거한 결과가 오름차순으로 정렬된다.

 

GROUP BY 

 

GROUP BY는 중복을 제외하고 볼 수 있다는 사실을 인지하지 못했는데, 생각해보니 내가 중복을 제외하고 보려는 변수를 GROUP BY로 실시를 한다면 여러개가 있어도 하나로 묶어서 산출이 될테니 중복이 제거가 된다.

 

사용하는 방법은 우리가 아는 GROUP BY 절에만 써주면 된다.

SELECT SUBJECT_ID
FROM USER
GROUP BY SUBJECT_ID