DB/Postgresql

Window 함수

개발 일기92 2024. 4. 9. 18:51

UV집계 프로그램에서 쿼리 최적화를 하기 위해 사용. 

관련되어 공부했던 내용 기록.

 

window함수란?

전체 테이블에서 분석하고 싶은 작은 범위를 정해 조회.

 

window 함수 종류

순위함수

-rank : 동률이 있다면 다음숫자로 건너 뜀. ex) 1,2,3,3,5

-dense_rank : 동률이 있어도 건너 뛰지 않음. ex) 1,2,2,3

-row_number : 동률이 나오지 않는 rank함수(동률이더라도 먼저 조회된 순서로 rank가 매겨짐) ex)1,2,3,4,5

 

집계함수

-sum, max, min, avg.count

 

행순서 함수

-first_value, last_value, lag, lead

 

비율함수

-ratio_to,report, percent_rank, cume_dist, ntile

 

ex) ROW_NUMBER() OVER (PARTITION BY ch_id ORDER BY start_time DESC) AS rnk

해당 구문으로 각 ch_id의 start_time rank집계

 

 

출처 : https://www.youtube.com/watch?v=2ec7S5tlGSI

'DB > Postgresql' 카테고리의 다른 글

MVCC  (1) 2024.04.11
postgresql - vacuum  (0) 2024.04.11
SQL - Explain  (1) 2024.04.09
DB index  (0) 2024.04.08
파티션 및 analyze  (1) 2024.04.08