|
有一张表,表内是各个班级的学生号对应总成绩,现在需要提取各个班级总成绩最好的5名同学资料。
条件1:每个班级可以只有1个学号
条件2:每个班级允许出现并列第5的数据
条件3:当出现5个并列第1的数据时候,只取并列第一的5条记录。
在EXCEL SQL中,用Dcount函数可以实现,
EXCEL SQL为 select * from 成绩表$ where DCOUNT(“总成绩","成绩表$","学号=‘” & 学号 & "' and 总成绩>" & 总成绩) <5
该语句是可以显示正确结果,但是当数据量大的时候,每条记录对比下去系统就一直转圈,请高手指教用ACCESS SQL或者EXCEL SQL 更为优化的提取方式,非常感谢!
以下为数据表信息,由于我的网页上不显示添加附件,就做了个简单的信息表信息附上。感谢帮助!!
表名:成绩表
班级 学号 总成绩
1班 00101 100
1班 00102 74
1班 00103 97
1班 00104 94
1班 00105 98
1班 00106 76
1班 00107 81
1班 00108 84
1班 00109 77
2班 00110 71
2班 00201 96
2班 00202 72
2班 00203 74
2班 00204 70
2班 00205 83
2班 00206 80
2班 00207 91
2班 00208 70
2班 00209 89
2班 00210 96
该贴已经同步到 xiaoxiaotat的微博 |
|