반응형
--sum()이 두번 쓰임 이유는??
select
years
, customer_id
, sub_amt
from (
select
to_char(order_date, 'YYYY') years
, customer_id
, sum(order_total) sub_amt
, sum(sum(order_total)) over (partition by to_char(order_date, 'YYYY')) total_amt
from orders
group by to_char(order_date, 'YYYY'), customer_id
) a
where a.sub_amt > a.total_amt * 0.2;
--뒤에 order by가 있을 때랑 없을 때랑 값이 다름.
--partition을 한 후에 정렬을 해야 제대로 값이 들어감.
select
department_id
, last_name
, salary
, sum(salary) over(partition by department_id order by last_name) cumm_sal
from employees;
반응형
'Oracle' 카테고리의 다른 글
컬럼당 최대값 최소값 구하기 keep(dense_rank first order by salary desc) (0) | 2015.07.29 |
---|---|
순위함수 (0) | 2015.07.29 |
시스템 뷰 및 테이블 정보 조회 (0) | 2015.07.29 |
Package 만들기 기본형 (0) | 2015.07.29 |
자주 사용하는 명령어 (0) | 2015.07.29 |
댓글