求教一个关于联合查询的sql语句,该怎么处理

求教一个关于联合查询的sql语句
目前有两张表 news,sort.

其中news表字段 id,title,content,sortid,adddate
sort表字段有 id,name
其中news表的sortid与sort表的id字段对应关联。

求教如何 每个类别取5条数据,并且按照news表的adddate字段排序。


------解决方案--------------------
select *
from
(
select a.*,b.name,row_number() over(partition by a.sortid order by a.adddate asc) rn
from news a,sort b
where a.sortid=b.id
)
where rn<=5
;
------解决方案--------------------
如果按id分组排序应该行不同吧?

SQL code

select *
from
(
select b.name,a.title,a.content,a.adddate,
       row_number() over(partition by b.name order by a.adddate desc) rn
from news a,sort b
where a.sortid=b.id
)
where rn < 6