티스토리 뷰
1. 윈도우 함수 - 역할
전체 그룹에서 일부분을 땐 부분 그룹 혹은 부분 집합에서 더 작은 소그룹
◈ 구문형식
윈도우 함수 OVER (PARTITION BY 조건1 ORDER BY 조건2 ROWS | RANGE BETWEEN UNBOUNDED PRECEDING | PRECEDING | CURRENT ROW AND UNBOUNDED FOLLOWING | CURRENT ROW) - ROWS : 물리적인 단위의 행집합 - RANGE : 논리적인 주소에 의한 행집합 - UNBOUNDED PRECEDING : 첫 번째 로우 - UNBOUNDED FOLLOWING : 마지막 로우 - CURRENT ROW : 현재 로우 |
2. 윈도우 함수 - 종류
AVG | CORR | COVAR_POP | COVAR_SAMP | COUNT |
FIRST_VALUE | LAST_VALUE | MAX | MIN | REGR_ |
STDDEV | STDDEV_POP | STDDEV_SAMP | SUM | VAR_POP |
VAR_SAMP | VARIANCE |
3. 윈도우 함수 - 기본 테이블
◈ TEST_TABLE_ONE
IDX | NAME | ID | DEPT | AMT |
1 | 테스트1 | test1 | test_d1 | 1000 |
2 | 테스트2 | test2 | test_d1 | 2000 |
3 | 테스트3 | test3 | test_d2 | 2000 |
4 | 테스트4 | test4 | test_d2 | 4000 |
5 | 테스트5 | test5 | test_d2 | 5000 |
4. 윈도우 함수 - SQL 문장
1 2 3 4 5 | SELECT NAME ,AMT ,SUM(AMT) OVER (ORDER BY ID ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS S_AMT FROM TEST_TABLE_ONE |
◈ 결과 테이블
|
◈ 설명
맨 처음부터 현재 로우까지의 합계를 의미합니다 |
'[개발]프로그래밍 > sql' 카테고리의 다른 글
[oracle] LAG,LEAD - 이전 로우,이후 로우 값 반환 (0) | 2016.10.31 |
---|---|
[oracle] FIRST_VALUE(),LAST_VALUE() - 처음과 마지막 로우 (0) | 2016.10.28 |
[oracle] WIDTH_BUCKET() - 특정 범위내에서 특정 기준 (0) | 2016.10.28 |
[oracle] NTILE() - 특정 기준으로 분할 (0) | 2016.10.27 |
[oracle] ROW_NUMBER() - 순차적인 값 반환 (0) | 2016.10.27 |
- Total
- Today
- Yesterday