嗨,我想添加两个聚合函数的结果,但是我得到了“组函数的无效使用”。有人能纠正以下问题吗:
SELECT mc.complaint_type_id,
mc.complaint_type,
sum(sum(case when c.is_solved = 1 then 1 else 0 end) + sum(case when ((c.is_solved = 0) and (c.res_user_id is null)) then 1 else 0 end)) as complaints_count,
from svk_apt_master_complaints mc
left join svk_apt_complaints c on c.complaint_type_id = mc.complaint_type_id and c.is_active = 1
and c.customer_id = 1 and c.association_id = 1
group by mc.complaint_type_id
3条答案
按热度按时间k0pti3hp1#
您需要在group by中指定mc.u type列
8ftvxx2r2#
试试这个:
你不需要
sum()
当你使用+
接线员。也,SUM
是聚合函数。此外,还可以选择不包含在聚合中的列:
mc.complaint_type
. 你需要把它包括在group by
或者干脆把它拿走。6bc51xsx3#
删除嵌套
sums
并添加mc.complaint_type
至GROUP BY
条款。如果需要添加两个聚合函数的值,请使用+
运算符,而不是聚合函数。我还重新格式化了您的代码并删除了不必要的括号。