SELECT * FROM (SELECT a.年级id,b.班级id,a.评分id,row_number() OVER(PARTITION BY a.评分id ORDER BY a.评分id) rn FROM 年级表 a,班级表 b WHERE a.年级id=b.年级id(+)) WHERE rn<=10;
你的意思是<=10条记录,还是10个年级额,如果是10个年级:select t4.pfid, t4.njid, t3.bjid from (select t2.*, row_number() over(partition by pfid order by njid) rnn from (select nj.pfid, bj.njid from nj left join bj on nj.njid = bj.njid group by nj.pfid, bj.njid) t2) t4, bj t3 where t4.njid = t3.njid and t4.rnn <= 10 order by t4.pfid, t4.njid, t3.bjid
from (select t2.*, row_number() over(partition by pfid order by njid) rnn
from (select nj.pfid, bj.njid
from nj
left join bj
on nj.njid = bj.njid
group by nj.pfid, bj.njid) t2) t4,
bj t3
where t4.njid = t3.njid
and t4.rnn <= 10
order by t4.pfid, t4.njid, t3.bjid