怎么查找每门功课前两名学生的ID,name ,subject ,score 。急求,写下思路和具体sql语句,非常感谢!!!
哥们,那个score字段不在表A中啊,你查错了
追答SELECT A.id, A.name, A.age, t.score
FROM (select subject, id, score, rank() over(partition by subject order by score desc) rk from B) t,
A
WHERE t.rk <= 2 AND A.id = t.id
哥们,是t.score打错了。
错了
没并列名次的
追答row_number()排名不会出现并列的 第一名 第二名 第三名
Dense_rank() 会有并列名次,例如:第一名 第一名 第二名
rank() 会有并列名次,例如:第一名 第一名 第三名
上面例子是两个第一名分数相同。自己想要什么结果自己看着办