본문 바로가기

프로그래밍/MSSQL

[MSSQL] DISTINCT, GROUP BY 중복제거

반응형

 

 

 

DISTINCT 와 GROUP BY 를 비교해보자

 

 

DISTINCT

유니크한 데이터를 조회하는 경우

즉, 중복된 결과를 제거하고자 할 때 사용한다.

 

 

GROUP BY

데이터를 그룹핑해서 조회하는 경우

 

 

비교

SELECT DISTINCT Col1 FROM Table_A
SELECT Col1 FROM Table_A GROUP BY Col1

 

위의 쿼리는  중복을 제거하기 위해 작성된 쿼리다.

동일하게 처리하는 듯 하지만 두 쿼리는 차이가 있다.

 

DISTINCT는 단순 그룹핑 작업한 수행하지만, GROUP BY 는 그룹핑 작업 + 정렬 작업을 동반한다.

따라서, 정렬 작업이 필요없을 경우 DISTINCT 를 사용하는 것이 성능상 좋다.

 

 

[MSSQL] GROUP BY 없이 HAVING이 단독으로 오는 경우
[MSSQL] COUNT CASE (조건 카운트) COUNT DISTINCT (중복제거 카운트)

 

 

반응형