您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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

你可以做这样的事情

SELECT StudentID, Year, Subject,  AVG(Testscore) AS Avgscore
  FROM
(
  SELECT StudentID, Year, Subject, Testscore
   FROM MyTable t
   WHERE TestID IN
  (
   SELECT TOP 3 TestID 
     FROM MyTable
    WHERE StudentID = t.StudentID
      AND Year = t.Year
      AND Subject = t.Subject
    ORDER BY Testscore DESC, TestID
  )
) q
 GROUP BY StudentID, Year, Subject
 ORDER BY StudentID, Year, Subject;

样本输出

| STUDENTID | YEAR | SUBJECT | AVGscore |
|-----------|------|---------|----------|
|         1 | 2012 |       1 |       91 |
|         1 | 2012 |       2 |       84 |
|         2 | 2012 |       1 |       94 |
|         2 | 2012 |       3 |       95 |
Access 2022/1/1 18:35:43 有466人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶