본문 바로가기
스터디/Oracle

[Oracle/오라클] FIRST_VALUE() 필드의 첫번째 값, LAST_VALUE() 마지막 값 구하기

by 홍장 2021. 10. 19.

SELECT CLASS_CD, STUDENT_NO, STUDENT_NM, KOR FROM TB_GRADE;

FIRST_VALUE(필드명) OVER (PARTITION BY 그룹명 ORDER BY 정렬필드명)

그룹중 최대값 구하기

 

SELECT CLASS_CD, STUDENT_NO, STUDENT_NM, KOR,

FIRST_VALUE(KOR) OVER (PARTITION BY CLASS_CD ORDER BY KOR DESC) "CLASS_MAX"

FROM TB_GRADE

ORDER BY CLASS_CD, KOR DESC;

 

MAX() 함수를 사용해도 동일한 결과 가능

SELECT CLASS_CD, STUDENT_NO, STUDENT_NM, KOR,

MAX(KOR) OVER (PARTITION BY CLASS_CD) "CLASS_MAX"

FROM TB_GRADE

order by CLASS_CD, KOR DESC;

 

 

 

 LAST_VALUE(필드명) OVER (PARTITION BY 그룹명 ORDER BY 정렬필드명)

그룹 중 최소값구하기 1) 정렬 조건을 바꾸는 방법

SELECT CLASS_CD, STUDENT_NO, STUDENT_NM, KOR,

FIRST_VALUE(KOR) OVER (PARTITION BY CLASS_CD ORDER BY KOR ASC) "CLASS_MIN"

FROM TB_GRADE

ORDER BY CLASS_CD, KOR DESC;

그룹 중 최소값구하기 2) LAST_VALUE() 사용

SELECT CLASS_CD, STUDENT_NO, STUDENT_NM, KOR,

LAST_VALUE(KOR) OVER (PARTITION BY CLASS_CD) "CLASS_MIN"

FROM TB_GRADE

ORDER BY CLASS_CD, KOR DESC;

MIN() 함수를 사용해도 동일한 결과 가능

SELECT CLASS_CD, STUDENT_NO, STUDENT_NM, KOR,

MIN(KOR) OVER (PARTITION BY CLASS_CD) "CLASS_MAX"

FROM TB_GRADE

ORDER BY CLASS_CD, KOR DESC;