MySQL 항목당 가장 최근 날짜가 있는 행 선택

데이터가 아래와 같이 있다.

이 테이블은 대여에 관한 테이블 일부다.  문서( FK_DOC ) 에 대하여 가장 최근 대여 (RANT_DATE)가 이루어진 항목을 검색 하고자 할때,

다음과 같은 쿼리를 사용하면 원하는 결과를 얻을 수 있다.

SELECT R1.*
FROM TB_RANT AS R1 LEFT JOIN TB_RANT R2
ON R1.FK_DOC = R2.FK_DOC
AND (R1.RANT_DATE < R2.RANT_DATE
OR (R1.RANT_DATE = R2.RANT_DATE AND R1.SEQUNCE < R2.SEQUNCE))
WHERE R2.FK_DOC IS NULL

결과 >

이 쿼리는 뷰에서도 사용 가능하다.

  • 2018년 12월 16일