小编use*_*315的帖子

MS Access选择按多个字段分组的前n个查询

这是peterm在这个板上已经回答的问题的第2部分.再次感谢peterm!

所以我的代码将返回给定学生的前三个测试分数.我的表如下所示:

StudentID,测试编号,得分
1,1,95
1,2,90
1,3,90
1,4,90
2,1,99
2,2,95
2,3,90
2,4,90

感谢peterm,我有以下代码可以为我这样做:

SELECT StudentID, TestID, TestScore
  FROM MyTable t
 WHERE TestID IN
(
  SELECT TOP 3 TestID 
    FROM MyTable
   WHERE StudentID = t.StudentID 
   ORDER BY TestScore DESC, TestID
)
 ORDER BY StudentID, TestScore DESC, TestID;
Run Code Online (Sandbox Code Playgroud)

我的新问题现在我需要在主题和年份的表格中添加两个新字段,因此我需要找到每个学科 - 学生 - 年组合的前3个分数.一旦我得到每个组合的前三个分数,我需要对它们进行平均,这样我将得到每个学生 - 主题 - 年组合的前3个分数的平均分数.希望我能够清楚地解释这一点,而不必嘲笑另一张桌子.

提前致谢.

sql ms-access

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

ms-access ×1

sql ×1