WITH Q1 AS
(SELECT unique_id,status from table group by unique_id having count(unique_id)=1)
SELECT * FROM Q1
WHERE unique_id IN
(SELECT unique_id FROM Q1 WHERE status = 'Approve'
AND EXISTS (SELECT 1 FROM Q1 subq1
WHERE Q1.emp_id = subq1.emp_id
AND TRUNC(Q1.status_date) < TRUNC(subq1.insert_date))
)
ORDER BY Q1.unique_id,decode(status,'Approve',1),status_date;