我想创建一个聚合函数,该函数将返回相同的值,该值通常以int或bigint类型的值传递给它。
这样做的目的是当我尝试分组时,它要求我将值放在聚合函数中,因为一个值已经在组中,我希望我不要想把另一个放进去。
Postgres版本9.4
执行以下查询以获得正确的结果:
select org_id,
case when add_pos_or_zero(status_id)=4 then count(id) else 0 end as closed,
case when add_pos_or_zero(status_id)!=4 then count(id) else 0 end as open ,
case when add_pos_or_zero(status_id) in (1,2,4,5) then count(id) else 0 end as created
from cloudschema.ticket_mstr where
to_char(to_timestamp(created_on/1000),'dd/MM/yyyy')='23/08/2017' and is_active is true group BY org_id;
请参阅小提琴:SQL FIDDLE
我想要这种形式的结果:
orgid closed open created
891 1 2 3
912 0 1 1
918 0 1 1