我试图从一列中选择最大值,同时按另一个具有多个重复值的非唯一 id 列进行分组。原始数据库看起来像:
mukey | comppct_r | name | type
65789 | 20 | a | 7n
65789 | 15 | b | 8m
65789 | 1 | c | 1o
65790 | 10 | a | 7n
65790 | 26 | b | 8m
65790 | 5 | c | 1o
...
这很好用:
SELECT c.mukey, Max(c.comppct_r) AS ComponentPercent
FROM c
GROUP BY c.mukey;
它返回如下表:
mukey | ComponentPercent
65789 | 20
65790 | 26
65791 | 50
65792 | 90
我希望能够在不影响 GROUP BY 函数的情况下添加其他列,以将名称和类型等列包含到输出表中,例如:
mukey | comppct_r | name | type
65789 | 20 | a | 7n
65790 | 26 | b | 8m
65791 | 50 | c | 7n
65792 | 90 | d | 7n
但它总是输出一个错误,说我需要使用带有 select 语句的聚合函数。我该怎么做呢?