반응형
윈도우함수 종류
1. 순위 함수
- RANK 함수 : 공동 등수가 있으면 다음 등수 제거
- DENSE_RANK 함수 : 공동 등수가 있음. 다음 등수 제거하지 않음.
- ROW_NUMBER 함수 : 행 번호를 다 붙여준다. 순위 상관 없음.
2. 윈도우 집계 함수 : 행이 출력될 때마다 누적 집계 값을 제공한다.
- SUM, MAX, MIN, AVG, COUNT
* 만약 윈도우 함수에서 집계 함수를 사용하는데 ORDER BY 를 생략한다면 파티션 내부에서 동일한 값이 출력된다. PARTITION BY도 없으면 전체 테이블의 합계는 다 똑같이 나온다. 전체 테이블을 하나의 파티션으로 생각하기 때문이다.
3. ROWS와 RANGE
- ROWS는 중복값 안나옴.
- RANGE는 중복값이 나옴.
4. 행 순서 함수
- FIRST_VALUE : 가장 처음에 나오는 값
- LAST_VALUE : 가장 나중에 나오는 값
- LAG 함수 : 이전 숫자행의 값
- LEAD 함수 : 이후 숫자행의 값
5. 비율 함수
- RATIO_TO_REPORT 함수 : sum 값에 대한 행별 칼럼 값의 백분율을 소수점으로 나타냄
- PERCENT_RANK 함수 : 중위값
- CUME_DIST 함수 : 누적 백분율
- NTILE(n) 함수 : 파티션 별로 N등분하여 조를 나눈다. 나머지는 상위 조에게 순서대로 배정함.
반응형
'DB' 카테고리의 다른 글
[SQLD] 최종 정리! 합격 기원 (0) | 2023.09.09 |
---|---|
[SQLD] NULL 정의 (0) | 2023.09.07 |
[SQLD] GROUPING SETS, ROLLUP, CUBE (0) | 2023.09.05 |
[SQLD] HAVING (0) | 2023.09.04 |
[SQLD] 필수 암기 개념 (2) (0) | 2023.09.04 |