我想从一列中选择最大值,而由具有多个重复值的另一个非唯一ID列进行分组。原始数据库看起来类似:使用GROUP BY选择多个(非聚合函数)列
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语句中使用聚合函数。我应该如何去做这件事?
什么是您预期的结果? –
补充说,对于操作,谢谢 – Dylansq