[ORACLE] 그룹별로 가장 큰 값, 최신 값 가져오기 - RANK()

Updated:

☁ step 1. RANK() 함수 이용하기(PARTITION=그룹 조건, ORDER BY=그룹 내 순서 조건)

SELECT DEPLOY_NAME, DEPLOY_ID, END_DT RANK() OVER(PARTITION BY ID ORDER BY END_DT DESC) AS RNK FROM DEPLOY_INFO

DEPLOY_ID로 그룹을 만들었기 때문에, DEPLOY_ID 별로 가장 큰 END_DT부터 내림차순으로 RNK가 만들어 졌다.

☁ step 2. RNK = 1 조건 두기

SELECT * FROM ( SELECT DEPLOY_NAME, DEPLOY_ID, END_DT RANK() OVER(PARTITION BY ID ORDER BY END_DT DESC) AS RNK FROM DEPLOY_INFO ) WHERE RNK = ‘1’

Tags:

Categories:

Updated:

Leave a comment