日期:2014-05-17  浏览次数:20882 次

帮我写个简单的SQL语句谢谢了!
表a

id   姓名
1       wang
2       li
3       zhang

表b

id   成绩     dt
1       66         2007-4-3
1       33         2007-5-4
2       44         2007-5-2
2       55         2007-4-2

.....


找出最高前三次成绩的姓名?谢谢。不知道是否能明白我的意思?


------解决方案--------------------
你是想说每人最高的前三次成绩吧?
select tb.id
, tb.num
, tb.成绩
from (select row_number() over(partition by b.id order by b.成绩 ) num
, b.成绩 成绩,b.id id
from a.id = b.id) tb
where tb.num <4