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;
'스터디 > Oracle' 카테고리의 다른 글
[Oracle / 오라클] group by, count, sum (0) | 2023.06.19 |
---|---|
[Oracle/오라클] LEAD() 다음 레코드 값, LAG() 이전 레코드 값 조회 (0) | 2021.10.19 |
[오라클/Oracle] INSTER, SUBSTR, REPLACE (0) | 2021.09.18 |
[Oracle/오라클] 다중 LIKE 조건 REGEXP_LIKE (0) | 2021.07.17 |
[Oracle/오라클] LSITAGG (0) | 2021.07.16 |