回答

收藏

MS Access Max和选择前n个查询值重复的问题

技术问答 技术问答 186 人阅读 | 0 人回复 | 2023-09-12

这是我的第一篇文章,希望我不要违反任何规则。" Q# E  G( O$ h7 z3 E
我是MS Access新手,我的SQL知识充其量是有限的。我正试图编写一个查询,它将返回给学生的前三个测试结果。我的表格如下:# ?3 L. ]$ C$ `5 z# x& ?$ L
学生证考试ID1 1 951 2 901 901 901 902 992 952 902 902 902通过在论坛上的研究,我找到了一些非常有用的代码,基本上可以满足我在具有相同值的多个测试分数时找到的内容。在这种情况下,我得到的分数超过了前三名。因此,对于学生来说#1.查询将返回所有四个测试分数,而不仅仅是前三个。我试图添加唯一的索引字段进行排序,但我很幸运。到目前为止,我的代码如下:8 q( V5 J0 A7 H3 T
SELECT MyTable.StudentID,MyTable.TestID,Max(MyTable.TestScore) AS MaxOfTestScoreFROM MyTableGROUP BY MyTable.StudentID,MyTable.TestID,MyTable.TestScoreHAVING MyTable.TestScore In (SELECT TOP 3 TestScore FROM MyTable T2 WHERE MyTable.StudentID = T2.StudentID ORDER BY TestScore DESC)ORDER BY MyTable.StudentID,MyTable.TestScore DESC;到目前为止,Sarkazein都提供了这个代码。我试图对这个线程发表评论,但我不能发表评论,因为我没有任何声誉分数。
! s8 z; K9 o  k9 i, z  s* N                                                                ) ~: r7 I# q/ z& B8 Q
    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则