作业帮 > 综合 > 作业

sql查询 从一张表中找到每个班成绩排在第十名的信息.

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/28 02:50:38
sql查询 从一张表中找到每个班成绩排在第十名的信息.
有一张成绩表st_score,字段有id(自动生成的),number(学号),class(班级),score(成绩),现要从表中找出每个班成绩排在第十名的信息.
SELECT * FROM (SELECT ROW_NUMBER() OVER(PARTITION BY class ORDER BY score DESC) AS NewPx, * FROM st_score) a WHERE a.NewPx=10
再问: sql server 2008有这个功能么?有点看不懂,顺便解释一下!
再答: sql server 2008有这个功能,测试过了 你去查下 ROW_NUMBER 这个的用法就应该能清楚了 思路就是先按 班级 排序 成绩,并为其加一列序列号来表示其排名,然后再根据这排名来找出第10名