윈도우 함수
- 서로 다른 행의 비교나 연산을 위해 만든 함수
SELECT WINDOW_FUNCTION (ARGUMENTS) OVER
( PARTITION BY 칼럼
ORDER BY절
WINDOWING 절 )FROM 테이블명;
연산범위
- ROWS:값이 같더라도 각행씩연산
- RANGE:같은 값인 경우 하나의 RANGE로 묶어서 동시 계산
BETWEEN A AND B
A)시작
- CURRENT ROW 현재행부터
- UNBOUNDED PRECEDING: 처음부터(디폴트값임)
- N PRECEDING: N 이전부터
B)마지막
- CURRENT ROW: 현재행까지 (디폴트값임)
- UNBOUNDED FOLLOWING: 마지막까지
- N FOLLOING:N이후까지
RANK(순위)
- 특정값에 대한 순위
RANK() OVER()
- 특정 그룹중 값의 순위 확인
- ORDER BY 필수
DENSE_RANK
- 누적순위
- 동순위 후 다음순위부여
- 1 1 1 2 2 3 4 5
ROW_NUMBER
- 연속된 행 번호
- 동일 순위 없음
- 단순히 순서대로 나열한 대로의 순서값
LAG
- 컬럼,N
- 컬럼의 N번째 이전 값을 가져옴(디폴트1)
LEAD
- 컬럼,N
- 컬럼의 N번째 이후 값을 가져옴(디폴트1)
FIRST_VALUE,LAST_VALUE
- 정해진 범위의 처음값,마지막값
NTITLE(N)
- N개의 그룹으로 나눔
RATIO_TO_REPORT
- 각 값의 비율 리턴
CUME_DIST
- 누적 비율 리턴
PERCENT_RANK
- 분위수 출력(0~1)
'Computer Science > DataBase' 카테고리의 다른 글
[SQLD] 2과목 TOP N쿼리, 계층형 질의, PIVOT (0) | 2024.05.08 |
---|---|
[SQLD] 2과목 집합 연산자 (0) | 2024.05.08 |
[SQLD] 2과목 서브쿼리 (0) | 2024.05.08 |