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;
댓글