Oracle - SUM() OVER() 이용한 합계 증가값 구하기
Posted 03 23, 2011 14:43, Filed under: DataBase/Oracle
# 한번의 광고 클릭으로, 당신을 대신해서 불우이웃을 도울 기회가 많아집니다.
# 포인트 : SUM((CNT + CNT) - CNT) OVER()
- 하나의 컬럼의 로우별로 더한 증가값을 구하기 위함.
- 특정 컬럼 값의 합계 값 만큼의 로우만 추출하여 해당 키값을 활용하고자 할때 유용.
/* 특정 기간동안의 다운로드 값에 합을 구함, 증가값 SEQ DOWN SUM((TEST_HIT+TEST_HIT)-TEST_HIT) 18918 2 2 18919 6 8 18920 6 14 18921 6 20 18922 2 22 18923 4 26 */ SELECT TEST_SEQ, TEST_HIT, TEST_HIT3 FROM (SELECT HISTORY_SEQ, TEST_HIT, SUM((TEST_HIT + TEST_HIT) - TEST_HIT) OVER(ORDER BY HISTORY_SEQ) TEST_HIT3 FROM HISTORY_TEST WHERE HISTORY_DATE >= '2007-09-01' AND HISTORY_DATE <= '2007-09-28' AND TEST_HIT > 0 ORDER BY HISTORY_SEQ ) WHERE TEST_HIT3 <= 800 // 순차적인 값의 합이 800 일때 까지 로우 출력. ;
"DataBase / Oracle" 분류의 다른 글
| Oracle - 바인드 변수에 대하여(테스트) (0) | 2012/05/06 |
| Oracle - 디폴트 롤, DBA, CONNECT, RESOURCE (0) | 2012/04/27 |
| Oracle - 권한 및 롤 관리 (0) | 2012/04/27 |
| Oracle - SQL*PLUS의 SYSDBA 접근 제어 (0) | 2012/04/27 |
| Oracle - PFILE, SPFILE 에 관하여 (0) | 2012/04/27 |
| Oracle - Listener 포트 변경 (0) | 2012/04/27 |
| Oracle - 사용자 패스워드 정책 변경 (0) | 2012/04/03 |
| Oracle - SYS_CONTEXT 함수를 이용하여 접속 세션 정보 추출 (2) | 2011/12/13 |
| Oracle - ASSM(Automatic Segment Space Management) (0) | 2011/09/18 |
| Oracle - 사용자의 테이블 스페이스 검색및 이동 (0) | 2011/09/18 |
# 한번의 광고 클릭으로, 당신을 대신해서 불우이웃을 도울 기회가 많아집니다.
Response :
0 Trackback
,
0 Comment
Trackback URL : http://develop.sunshiny.co.kr/trackback/602