WITH t AS ( SELECT 1 seq, '12:00' dt FROM dual UNION ALL SELECT 2, '12:02' FROM dual UNION ALL SELECT 3, '11:00' FROM dual UNION ALL SELECT 4, '12:01' FROM dual -- test 를 위해 자료 변경 UNION ALL SELECT 5, '12:20' FROM dual ) SELECT * FROM (SELECT seq, dt , MAX(dt) OVER(ORDER BY seq) dt1 FROM t ) WHERE dt < dt1 ;