FIRST_VALUE


파티션 별 가장 선두에 위치한 데이터를 구하는 함수

(SQL Server(MSSQL) 에서는 지원하지 않는다.)

EX1) 시험성적 데이터에 FIRST_VALUE 적용

SELECT student_name,
		   subject,
       score,
       FIRST_VALUE(score) OVER (ORDER BY score) as first_score
FROM sqld
ORDER BY subject DESC;

Untitled

모든 점수를 대상으로 오름차순한 후 첫 번째에 위치하는 점수가 출력된 것.

EX2) 과목별 가장 높은 점수 구하기

SELECT student_name,
		   subject,
       score,
       FIRST_VALUE(score) OVER (PARTITION BY subject ORDER BY score DESC) as first_score
FROM sqld
ORDER BY subject DESC;

FIRST_VALUE 함수 결과에 대한 alias를 FIRST_VALUE로 했더니 MySQL에서는 에러가 발생해서 다른 이름으로 변경했다.

Untitled

LAST_VALUE