MS Access 选择表中的第 N 个最高值
Posted
技术标签:
【中文标题】MS Access 选择表中的第 N 个最高值【英文标题】:MS Access select the Nth Highest value in a table 【发布时间】:2018-08-09 09:26:25 【问题描述】:所以我有以下数据库格式:
+------++------+
| ID | Value |
+------++------+
| 1 | 5 |
| 1 | 2 |
| 1 | 8 |
| 1 | 1 |
| 2 | 2 |
| 2 | 3 |
| 2 | 6 |
| 2 | 10 |
| 3 | 1 |
| 3 | 2 |
| 3 | 5 |
| 3 | 3 |
| 3 | 5 |
+------++------+
我正在尝试输出每个 ID 的前 3 个值。喜欢:
+------++------+
| ID | Value |
+------++------+
| 1 | 8 |
| 1 | 5 |
| 1 | 3 |
| 2 | 10 |
| 2 | 6 |
| 2 | 3 |
| 3 | 5 |
| 3 | 5 |
| 3 | 3 |
+------++------+
这可以在 MS Access 中使用 SQL 实现吗?
【问题讨论】:
这看起来像是每组访问问题的前 N 个问题。 This question 可能会有所帮助。 【参考方案1】:你需要相关子查询:
select t.*
from [table] t
where value in (select top 3 t1.value
from [table] t1
where t1.id = t.id
order by t1.value desc
) order by ID asc, value desc;
【讨论】:
以上是关于MS Access 选择表中的第 N 个最高值的主要内容,如果未能解决你的问题,请参考以下文章
如果表单未绑定,如何选择 MS Access 组合框中的第一项