노승현
SQLD 2과목 본문
정규 표현식
윈도우 함수 순서
PARTITION BY
ORDER BY
ROWS | RANGE BETWEEN A AND B
윈도우 함수의 연산 범위 : 집계 연산 시 행의 범위 설정 가능
- ROWS, RANGE 차이
- ROWS : 값이 같더라도 각 행씩 연산
- RANGE : 같은 값의 경우 하나의 RANGE 로 묶어서 동시 연산 (default)
- BETWEEN A AND B
- 시작점 정의
- CURRENT ROW : 현재행부터
- UNBOUNDED PRECEDING : 처음부터 (default)
- N PRECEDING : 이전부터
- 마지막 시점 정의
- CURRENT ROW : 현재행부터 (default)
- UNBOUNDED FOLLOWING : 마지막까지
- N FOLLOWING : N 이후까지
- 시작점 정의
순위 관련 함수
- RANK (순위)
- RANK WITHIN GROUP
- 특정값에 대한 순위 확인
- 윈도우 함수가 아닌 일반 함수
- RANK WITHIN GROUP
- RANK() OVER()
- 전체 중/ 특정 그룹 중 값의 순위 확인
- ORDER BY 절 필수
- 순위를 구할 대상을 ORDER BY 절에 명시 (여러 개 나열 가능)
- 그룹 내 순위 구할 시 PARTITION BY 절 사용
- DENSE_RANK
- 누적 순위
- 값이 같을 때 동일한 순위 부여 후 다음 순위가 바로 이어지는 순위 부여 방식
- ROW_NUMBER
- 연속된 행 번호
- 동일한 순위를 인정하지 않고 단순히 순서대로 나열한대로 순서 값 리턴