must appear in the GROUP BY clause or be used in an aggregate function
今天在分组统计的时候pgsql报错 must appear in the GROUP BY clause or be used in an aggregate function
,在mysql里面是可以的,但是pgsql报错,这是pgsql一个常见的聚合问题,在SQL3标准以前,选择显示的字段必须出现在在 GROUP BY
中。下面我把问题描述一下:
数据是这样的
我想sum(avg)根据cname 进行计算期望结果为
具体pgsql如下:
SELECT
T .cname,
M .wmname,
T . MAX
FROM
(
SELECT
cname,
MAX (AVG) AS MAX
FROM
makerar
GROUP BY
cname
) T
LEFT JOIN makerar M ON T .cname = M .cname ;
参考:https://www.cnblogs.com/zxhyJack/p/9934259.html