首页 > 数据库 > mysql教程 > 如何在 Microsoft Access SQL 中检索每组的前 N ​​条记录?

如何在 Microsoft Access SQL 中检索每组的前 N ​​条记录?

DDD
发布: 2025-01-07 17:27:40
原创
893 人浏览过

How to Retrieve the Top N Records per Group in Microsoft Access SQL?

使用 SQL (Access) 获取每个分组的前 N 条记录

问题:

如何使用 Microsoft Access 中的 SQL 获取每个分组的 n 条最新记录?

背景:

用户拥有名为“用户”和“进度”的表,分别包含有关用户及其分数的信息。他们需要一个查询来显示每个用户的三个最新分数。

答案:

以下嵌套查询检索每个用户的三个最新分数:

<code class="language-sql">SELECT PR1.LogInID, PR1.Score, PR1.[Date Taken]
FROM Progress AS PR1
WHERE PR1.[Date Taken] IN (
                        SELECT TOP 3 PR2.[Date Taken]
                        FROM Progress PR2
                        WHERE PR2.LoginID = PR1.LoginID
                        ORDER BY PR2.[Date Taken] DESC
                        )
ORDER BY LoginID, [Date Taken]</code>
登录后复制

说明:

IN 子句内的子查询使用 TOP 关键字和 ORDER BY 子句检索每个 LoginID 的三个最新日期。然后,主查询从 Progress 表中选择相应的记录,其中 [Date Taken] 列与每个 LoginID 的三个最新日期之一匹配。主查询中的 ORDER BY 子句确保记录按 LoginID 和 [Date Taken] 降序排序。

以上是如何在 Microsoft Access SQL 中检索每组的前 N ​​条记录?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板