select * from ( select t.*, row_number() over(partition by CASE_NO order by t.MESSAGE_INFO_ID desc) as row_flg from T_MESSAGE_INFO t where to_char(ADD_DATE,'yyyy-MM-dd') = to_char(sysdate,'yyyy-MM-dd') ) temp where temp.row_flg = '1' order by report_no asc
row_number() over(partition by CASE_NO order by t.MESSAGE_INFO_ID desc)
根据 case_no 分组 再根据 id 排序 得到最新的一条数据 ,并设置行号 row_number(row_flg )
temp.row_flg = '1'
获取到最新的一条