본문 바로가기

DB

[SQLD] WINDOW FUNCTION

반응형

윈도우함수 종류

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