[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’
Leave a comment