흐르는 시간의 블로그...

내가 짠 쿼리...

MAX 함수를 이용하여 해당 차량의 가장 마지막 업데이트 시간을 구하고, 해당 차량과 해당 업데이트 시간이 동일한 ROW를 선택했다.
데이터 양이 많아질경우 LASTUPDATETIME에 인덱스를 따로 해주는게 현명할듯 싶다.

vBasesql := 'SELECT B.STARTTIME, B.UPDATETIME FROM ( SELECT MAX(UPDATETIME) LASTUPDATETIME FROM TBL_REPORT WHERE CARNO = :1 ) A, TBL_REPORT B WHERE A.LASTUPDATETIME = B.UPDATETIME AND B.CARNO = :2';

EXECUTE IMMEDIATE vBasesql INTO dtLastStart, dtLastUpdate USING :NEW.CARNO, :NEW.CARNO;


최종 업데이트 행을 찾는 쿼리

select owner, last_ddl_time, object_name, object_type from
( select t1.*, max(last_ddl_time) over (partition by owner) max_time from big_table t1)
where last_ddl_time = max_time;