gpt4 book ai didi

postgresql - Fix 必须出现在 GROUP BY 子句中或用于聚合函数中

转载 作者:行者123 更新时间:2023-11-29 13:51:03 24 4
gpt4 key购买 nike

select
case
when daftar ='sd' then kouta
end as a,
case
when daftar = 'smp' then kouta
end as b,
case
when daftar = 'sma' then kouta
end as c
from
ajaran
GROUP BY
tahun

结果错误

[Err] ERROR: column "ajaran.daftar" must appear in the GROUP BY clause or be used in an aggregate function LINE 1: select case when daftar='sd' then kouta end as a,case when ...

我在 MySQL 中尝试相同的查询,没有错误和成功分组如何在 PostgreSQL 中使用 group by?

我想按tahun分组。

这是我的 table 。

this my table

最佳答案

据推测,您需要 sum()max(),如下所示:

select tahun,
max(case when daftar = 'sd' then kouta end) as a,
max(case when daftar = 'smp' then kouta end) as b,
max(case when daftar = 'sma' then kouta end) as c
from ajaran
group by tahun;

我认为错误很明显。 . . daftarkouta 既不是 group by 中的键,也不是查询中的聚合函数。如果没有进一步的指导(例如样本数据和预期结果),则不清楚哪种聚合最合适。

关于postgresql - Fix 必须出现在 GROUP BY 子句中或用于聚合函数中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41195306/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com