小编典典

MS Access SQL:汇总最小值,但检索其他字段

sql

这可能是一个非常简单的问题,但是我无法理解如何在MS Access中解决它。它可能以前已经被回答过,但是我一直找不到。

我有一个包含3列的表:col1是对象ID,col2和col3是度量。我建立了一个查询,以便为每个对象在col2中获得相应的最小值。通过简单的分组查询,这可以正常工作。问题是当我尝试拉col3(与找到最小值的行相关联)时,它将不再正确地分组。

我一直在使用group-by子句,试图将其分为几个查询,但到目前为止还没有运气。

这是我(左)想得到(右)的示例:

col1 col2 col3 ---> col1 minC2 col3 
---- ---- ---- ---- ---- ----
1 0 1.8 1 0 1.8   
1 1 1.4 2 2 2.5
2 4 1.1 3 1 7.6
2 6 4.7
2 2 2.5
3 4 3.3
3 1 7.6

我希望这是有道理的。感谢任何帮助/ MS Access SQL语法…谢谢!


阅读 176

收藏
2021-04-14

共1个答案

小编典典

假设您想要获得的第二行是[2 2 2.5],这就是您要查找的内容:

select a.col1, a.colm, m.col3
from
    (
        select col1, min(col2) as colm
        from test
        group by col1
    ) as a
inner join test m on a.col1 = m.col1 and a.colm = m.col2
2021-04-14