以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=154694)

--  作者:橄榄枝(10)
--  发布时间:2020/9/23 16:56:00
--  [求助]
我有四个班学生的成绩,每班有60人,我想得到每班各科前四十名学生的平均成绩,跪求答案。谢谢!
--  作者:有点蓝
--  发布时间:2020/9/23 17:24:00
--  

什么数据库?如果是access,只能使用代码遍历处理
如果是sqlserver,可以使用sql,比如:

select 班级,课程,avg(分数) as 平均 from (
Select b.* from {成绩} As a
cross apply
(Select top 40 * from {成绩} where 班级=a.班级 And 课程=a.课程 order by 分数) As b) as c group by 班级,课程

具体请上传实例测试
[此贴子已经被作者于2020/9/23 17:24:43编辑过]