이번 모각코 9회차 모임에서 나는 <데이터 베이스> 과목의 다중행 내장 함수에 대해 공부했다.
다중행 내장 함수의 종류로는 집계함수, 윈도우 함수, 그룹 함수가 있다.
집계 함수와 윈도우 함수
- 집계 함수 + GROUP BY절
- GROUP BY 절에 의해서 그룹(투플의 일부, 즉 subset)들이 생성됨
- 집계 함수는 각각의 그룹에 한 번 적용함
- GROUP BY 절이 생략되면, 테이블 전체를 하나의 그룹으로 간주함
- 집계 함수는 "그룹 마다 하나의 투플만 리턴함"
- 윈도우 함수 + PARTITION BY 절
- PARTITION BY 절을 이용해 파티션(투플의 일부, 즉 subset)들을 생성함
- 윈도우 함수는 파티션 별로 각각 적용하고, 계산한 값은 투플 마다 추가함
- PARTITION BY 절이 생략되면, 테이블 전체를 하나의 파티션으로 간주함
- 윈도우 함수는 결과로 파티션마다 하나의 투플을 리턴하지 않고, "파티션의 모든 투플들을 리턴함"
- 윈도우 함수는 집계 함수의 확장형임
- 윈도우 함수의 종류
1. 순위(rank) 함수
- RANK(), DENSE_RANK()
- ROW_NUMBER()
2. 집계 함수
- SUM(), AVG(), COUNT(), MIN(), MAX()
3. 행 순서 함수
- FIRST_VALUE(), LAST_VALUE(), LAG(), LEAD()
4. 비율 함수
- PERCENT_RANK(), CUME_DIST(), NTILE()
* 윈도우 함수의 일반 형식
window_function(exp) OVER
(
[PARTITION BY exp {, exp}*]
[ORDER BY exp [ASC|DESC] {, exp [ASC|DESC]}*]
[ROWS|RANGE {frame_between|frame_start}]
)
frame_between := BETWEEN frame_start AND frame_end
frame_start := UNBOUNDED PRECEDING|N PRECEDING|CURRENT ROW
frame_end := UNDOUNDED FOLLOWING|N FOLLOWING|CURRENT ROW
'2023-1모각코' 카테고리의 다른 글
23.05.23 모각코 8회차 (0) | 2023.05.27 |
---|---|
23.05.16 모각코 7회차 (0) | 2023.05.18 |
23.05.09 모각코 6회차 (0) | 2023.05.14 |
23.05.02 모각코 5회차 (0) | 2023.05.04 |
23.04.04 모각코 4회차 (0) | 2023.04.05 |