请帮帮我
我是postgres数据库的新手
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
和结果错误
[错误]错误:“ajaran.daftar”列必须出现在分组依据中
子句或用于聚合函数行1:select case when
daftar'sd'然后kouta结束作为一个案例,当。。。
我在MySQL中尝试相同的查询,没有错误和成功分组
如何在pgsql中使用group by?
我想按大顺分组
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;
我认为错误很明显。. .
daftar
和kouta
既不是group by
中的键,也不是查询中聚合函数中的键。如果没有进一步的指导,例如样本数据和期望的结果,哪种聚合最合适还不清楚。