본문 바로가기
카테고리 없음

[SQL]PARTITION BY, GROUP BY는 어떻게 다를까

by 일말고프로젝트 2021. 6. 10.

GROUP BY와 PARTITION BY의 차이

  GROUP BY PARTITION BY
사용 그룹 외부에서 묶어 순위 및 그룹별 집계를 구할 떄 사용 그룹 내 순위 및 그룹별 집계를 구할 때 사용
결과값 특정 원하는 컬럼에 대해서 추출해 결과값 보여줌 전체 데이터에서 원하는 결과값 보여줌

 

결론 : 데이터 다 보고 싶으면 PARTITION BY, 요약해서 하나씩 한줄씩만 보려면 GROUP BY

 


 

예시

 

1. 대륙별 GNP 합계 구하기

 

  1) GROUP BY

SELECT Continent
	   ,SUM(GNP)
FROM world.country
group by Continent;

 

  2) PARTION BY

SELECT Continent
	   ,SUM(GNP) OVER(PARTITION BY Continent)
FROM world.country;

 

2. Region별 면적이 가장 넓은 국가 구하기

 

  1) GROUP BY

SELECT Name
	   ,Continent
       ,Region
       ,max(SurfaceArea)
FROM world.country
GROUP BY Region;

 

2) PARTITION BY

SELECT Name
	   ,Continent
       ,Region
       ,max(SurfaceArea) over(PARTITION BY Region)
FROM world.country;

 

댓글