반응형
--/// 누적 예제 ///--
create table baljeon
(balday date, balyang number) tablespace users;
insert into baljeon values('2007-02-01',30);
insert into baljeon values('2007-02-02',25);
insert into baljeon values('2007-02-03',20);
insert into baljeon values('2007-02-04',15);
insert into baljeon values('2007-02-05',10);
--/// 날짜별 순차적인 누적량을 구하기 위해선 더해야할 행수는 해당 테이블의 총행수(count값)을 넣어주면된다.
--/// 또는 rows 부터 그이하를 생략하면 된다.
select count(*) from baljeon;
select balday "발전일자", balyang "발전량",
sum(balyang) over(order by balday) "누적량"
from baljeon;
-----------------------------------------------------------------------------------------
insert into baljeon values('2007-03-01',10);
insert into baljeon values('2007-03-02',20);
insert into baljeon values('2007-03-03',30);
insert into baljeon values('2007-03-04',40);
insert into baljeon values('2007-03-05',50);
-----------------------------------------------------------------------------------------
select * from baljeon;
select balday "발전일자", balyang "발전량",
sum(balyang) over(partition by to_char(balday,'yyyy-mm') order by balday) "누적량"
-- partition by to_char(balday,'yyyy-mm') 원하는 날짜별로 누계를 구한다.
from baljeon;
create table baljeon
(balday date, balyang number) tablespace users;
insert into baljeon values('2007-02-01',30);
insert into baljeon values('2007-02-02',25);
insert into baljeon values('2007-02-03',20);
insert into baljeon values('2007-02-04',15);
insert into baljeon values('2007-02-05',10);
--/// 날짜별 순차적인 누적량을 구하기 위해선 더해야할 행수는 해당 테이블의 총행수(count값)을 넣어주면된다.
--/// 또는 rows 부터 그이하를 생략하면 된다.
select count(*) from baljeon;
select balday "발전일자", balyang "발전량",
sum(balyang) over(order by balday) "누적량"
from baljeon;
-----------------------------------------------------------------------------------------
insert into baljeon values('2007-03-01',10);
insert into baljeon values('2007-03-02',20);
insert into baljeon values('2007-03-03',30);
insert into baljeon values('2007-03-04',40);
insert into baljeon values('2007-03-05',50);
-----------------------------------------------------------------------------------------
select * from baljeon;
select balday "발전일자", balyang "발전량",
sum(balyang) over(partition by to_char(balday,'yyyy-mm') order by balday) "누적량"
-- partition by to_char(balday,'yyyy-mm') 원하는 날짜별로 누계를 구한다.
from baljeon;
반응형
'ORACLE > SQL' 카테고리의 다른 글
CUBE 함수 (0) | 2009.07.08 |
---|---|
ROLLUP 함수 (0) | 2009.07.08 |
Oracle 관리 및 SQL Plus 정리 (0) | 2009.06.10 |
ORACLE START WITH, CONNECT BY (3) | 2009.04.02 |
SQL 실행순서 (0) | 2009.02.24 |