sy.
20220301 SQL OVER
segment
2022. 3. 1. 13:37
OVER
- sum, avg, min, max 집계 함수는 주로 group by 와 함께 사용.
- over는 집계 함수는 보조한다.
▶ 부서별 합계 sum, group by
SELECT DEPART, SUM(SALARY) FROM tStaff group by depart;
▶ 이름, 부서, 전체월급총합
select name, depart, salary, sum(salary) over() as 월급총합 from tStaff;
▶ 이름, 부서, 부서별 월급합계
select name, depart, salary, sum(salary) over(partition by depart) as 부서월급총합 from tStaff;
▶
- over 안에 order by 절을 사용하면 -> 정렬을 수행하면서 집계 계산.
- 직원 목록을 출력하면서 앞쪽 직원의 월급을 다 더한 누적월급 계산.
select name, depart, salary, sum(salary) over(order by name) as 누적월급 from tStaff;
▶
1. partition by : 부서별로 그룹핑
2. order by : 부서내에서는 이름으로 정렬하기.
select name, depart, salary, sum(salary) over(partition by depart order by name)
as 부서누적월급 from tStaff;