DISTINCT 와 GROUP BY의 차이


Distinct 

1. SELECT DISTINCT fd1 FROM tab;
2. SELECT DISTINCT fd1, fd2 FROM tab;

Group By

1. SELECT fd1 FROM tab GROUP BY fd1;
2. SELECT fd1, fd2 FROM tab GROUP BY fd1, fd2;


DISTINCT의 결과를 정렬된 결과가 아니지만, GROUP BY는 정렬된 결과를 보내준다.

만약 "정렬"이 필요하지 않다면 DISTINCT를 사용하는 것이 성능상 더 빠르다고 볼 수 있다.


DISTINCT로만 가능한 기능
1. SELECT COUNT(DISTINCT fd1) FROM tab;


GROUP BY로만 가능한 기능
1. SELECT fd1, MIN(fd2), MAX(fd2) FROM tab GROUP BY fd1;


기능 차이

distinct는 셀렉트 다음에 사용하는 구문이고 

group by는 조건절 이후에 사용하는 구문


'IT > SQL' 카테고리의 다른 글

[mysql] 테이블 컬럼 추가,삭제,변경하기  (0) 2016.08.23
where 조건뒤 (+)를 붙이는 이유. Outer Join  (0) 2016.06.02
WHERE 1=1 를 쓰는 이유.  (0) 2016.06.02
(+) 가 무슨뜻이니?.?  (0) 2016.05.31
as사용  (0) 2016.05.31
join?  (10) 2016.05.31
group by  (0) 2016.05.30

+ Recent posts