当前位置: 首页 > 面试题库 >

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

慎峻
2023-03-14
问题内容

这可能是一个非常简单的问题,但是我无法理解如何在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语法…谢谢!


问题答案:

假设您想要获得的第二行是[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


 类似资料:
  • 问题内容: SQL查询是否可以返回一些常规列和一些聚合列? 喜欢 : 问题答案: 您应该使用group by语句。 GROUP BY语句与聚合函数结合使用,以按一个或多个列对结果集进行分组。 例如: 您可以在此处看到完整的示例。

  • 函数“howMany”只是统计了某个特殊的数值的出现次数,有时候我们需要统计每个数值出现的次数。可以用下面这个循环函数完成这项工作。 int numValues = 20; int upperBound = 10; apvector<int> vector = randomVector (numValues, upperBound); cout << "value\thowMany"; for

  • 问题内容: 这段代码可以正常工作,但是我又长又令人毛骨悚然。 如您所见,它由3个重复部分组成,用于检索: 玩家名称和他们玩过的游戏数量 玩家名称和他们赢得的游戏数量 玩家姓名和输掉的游戏数量 并且每个还包括2个部分: 玩家名称和以玩家_1身份参加的游戏数量 玩家名称以及他们作为玩家_2参加的游戏数量 如何简化呢? 结果看起来像这样: 问题答案: Postgres 9.4* 或更高版本中的 聚合子句

  • WXG 二面挂了,两面面评都很差,找人捞都捞不动了🥲。 上周后面面了几家, 整体都很随意, 就没有总结。 美团和百川智能的大模型二面,整体都是问了一下项目,题都没做。 百川因为是做数据对大模型效果的研究,会问一些相关的场景题 1. 让我设计一个实验,来研究数据的作用。 2. 有没有看过一些大模型数据相关的论文?讲一讲 智谱一面就随便聊项目,也没做题,30 分钟。 但是入职很急,今天 HR 面拒了

  • 我有一个如下所示的数据表 它有代表名称的p列和代表值的t列。t1是对应于p1、t2到p2等的值... 在每一行上,p列的值都是唯一的(或)。t列中的值也是如此。 我要做的是创建三个新列: ,每行所有t列的最小值(不包括NA) ,如果t_min存在(不是NA),则p列的对应值…因此,如果t2列具有t-min值,则列的对应值 ,具有p_min值的列的名称。因此,如果p_min值来自column,则“p

  • 经过前面几个小节,还剩下3行没提及的log 2015-03-30 10:49:49,667 org.nutz.mvc.impl.NutLoading.createViewMakers(NutLoading.java:344) DEBUG - @Views(DefaultViewMaker) 2015-03-30 10:49:49,675 org.nutz.mvc.impl.NutLoading.c