select rownum id,t2.title,t2.time,t2.column_id
from 
(select t1.title,time,column_id,row_number() over(partition by t1.column_id order by t1.id) rn from news t1 where t1.column_id in ('AA','BB','CC','DD')) t2
where t2.rn=1
order by t2.time desc;