2025.02.24 - [프로그래밍/SQL, Hive, SAS 관련 정보] - [SQL] Table of Contents
저희가 어떤 그룹화된 집계 결과를 계산하고자 할 때 Group by나 Window함수를 사용하는데요, 그래서 이 두가지 기능이 완벽한 대체재인가? 생각을 할 수도 있을 것 같습니다. 하지만 가끔은 이 두 개를 동시에 사용하는 경우도 존재합니다.
2025.01.30 - [프로그래밍/SQL, Hive, SAS 관련 정보] - [SQL 기초] 최빈값 찾아내기
대신 이렇게 사용할 때는 데이터의 흐름과 결과에 대한 명확한 이해를 바탕으로 사용하셔야 합니다.
쿼리 실행의 순서:
- GROUP BY는 먼저 실행되어 행을 그룹화하고 집계합니다.
- OVER(PARTITION BY) 안에서 사용할 수 있는 열은 GROUP BY에 포함된 열 또는 그룹별 집계 결과여야 합니다.
order_id: 주문 번호
customer_id: 고객 ID
region: 지역
amount: 주문 금액
SELECT
customer_id,
region,
SUM(amount) AS customer_sales,
SUM(SUM(amount)) OVER (PARTITION BY region) AS region_sales
FROM orders
GROUP BY customer_id, region;
'프로그래밍 > SQL, Hive, SAS 관련 정보' 카테고리의 다른 글
[SQL 기초] Sub-query Scope (0) | 2025.04.13 |
---|---|
[SQL 기초] CTE와 Sub-query의 차이 (0) | 2025.04.13 |
[SQL문제풀이-Groupby/Subquery] Movie Rating (0) | 2025.04.13 |
[SQL문제풀이-Union활용] Count Salary Categories (0) | 2025.04.09 |
[SQL - Frequently Used Code] Min/Max 집계 함수의 활용 (0) | 2025.04.08 |