67,513
社区成员
发帖
与我相关
我的任务
分享
select message_title,create_date,message_type_id from (select * from bank_msg_info where message_type_id='1' order by create_date desc) where rownum<=6
union all
select message_title,create_date,message_type_id from (select * from bank_msg_info where message_type_id='2' order by create_date desc) where rownum<=6
union all
select message_title,create_date,message_type_id from (select * from bank_msg_info where message_type_id='3' order by create_date desc) where rownum<=6
union all
select message_title,create_date,message_type_id from (select * from bank_msg_info where message_type_id='4' order by create_date desc) where rownum<=6
union all
select message_title,create_date,message_type_id from (select * from bank_msg_info where message_type_id='5' order by create_date desc) where rownum<=6
union all
select message_title,create_date,message_type_id from (select * from bank_msg_info where message_type_id='6' order by create_date desc) where rownum<=6
SELECT x.*
FROM (SELECT message_title, create_date, message_type_id,
row_number() OVER(PARTITION BY message_type_id ORDER BY create_date desc) AS rn
FROM bank_msg_info) x
WHERE x.rn <= 6;