[SQL] FIRST_VALUE / LAST_VALUE / NTH_VALUE

songeunm·2024년 12월 11일

DB & SQL

목록 보기
9/27

MySQL 공식 문서

각각 윈도우 프레임 안에서 (그룹별로) 첫번째/마지막/n번째 행의 값을 반환하는 윈도우 함수이다.

그룹별로 정렬하여 첫번째/마지막/n번째 값을 찾는 경우 사용할 수 있다.

  • FIRST_VALUE
FIRST_VALUE(column_name) OVER ([PARTITION BY partition_column] [ORDER BY order_column])
  • LAST_VALUE
LAST_VALUE(column_name) OVER ([PARTITION BY partition_column] [ORDER BY order_column])
  • NTH_VALUE
NTH_VALUE(column_name) OVER ([PARTITION BY partition_clumn] [ORDER BY order_column])

윈도우 함수를 사용할 때 여러 윈도우 함수가 같은 OVER 절을 공유한다면, OVER 절은 다음과 같이 한번에 작성할 수 있다!

SELECT
	FIRST_VALUE(column_name) OVER w AS 'column_1',
	LAST_VALUE(column_name) OVER w AS 'column_2',
	NTH_VALUE(column_name) OVER w AS 'column_3'
FROM table
WINDOW w AS (PARTITION BY partition_column ORDER BY order_column);
profile
데굴데굴 구르는 개발자 지망생

0개의 댓글