For DEVELOPER/ORACLE::DB
2020. 5. 9.
[SQL] 그룹별 최대값 출력 :: ROW_NUMBER() OVER(PARTITION BY)
데이터를 출력하다 보면 그룹별로 한 컬럼의 최대값의 로우를 출력해야 될 일이 발생합니다.그때 사용한게 ROW_NUMBER() OVER(PARTITION BY) 입니다.예를 들어보겠습니다.TEMP_TABLE에서 EMP_ID 별로 가장 최근 DATE에 받은 MONEY를 출력하려고 합니다. 테이블{} SQL { 12345SELECT DATE, EMP_ID, MONEYFROM (SELECT ROW_NUMBER() OVER(PARTITION BY EMP_ID ORDER BY DATE DESC) RNUM, MONEY,EMP_ID,DATE FROM TEMP_TABLE ) WHERE RNUM = 1}결과{}