select
temp.id
,sum(temp.typyA_amount) as typyA_amount
,sum(temp.typyB_amount) as typyB_amount
,sum(temp.typyC_amount) as typyC_amount
,sum(temp.typyD_amount) as typyD_amount
from
(select t.id
,sum(t.A) as typyA_amount --A
,null as typyB_amount --B
,null as typyC_amount --C
,null as typyD_amount --D
from table t
where t.type ='A'
group by t.id
union all
select t.id
,null as typyA_amount --A
,sum(t.B) as typyB_amount --B
,null as typyC_amount --C
,null as typyD_amount --D
from table t
where t.type ='B'
group by t.id
union all
select t.id
,null as typyA_amount --A
,null as typyB_amount --B
,sum(t.C) as typyC_amount --C
,null as typyD_amount --D
from table t
where t.type ='C'
group by t.id
union all
select t.id
,null as typyA_amount --A
,null as typyB_amount --B
,null as typyC_amount --C
,sum(t.D) as typyD_amount --D
from table t
where t.type ='D'
group by t.id) temp
Statement:The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn