需求描述:
上面表格是一个简单的纵表转横表的例子,我们可以通过case when的SQL语句直接实现上述功能:
有一张业绩统计表(t_user_performance),表结构如下:
人员ID
|
user_id
|
业绩类型
|
performance_type
|
业绩金额
|
performance_value
|
时间
|
create_date
|
其中业绩类型是个枚举字段,有三种类型(新增、签约、跟进)。
我需要统计买个人员每种业绩类型的总业绩,统计表格如下:
人员
|
新增业绩
|
签约业绩
|
跟进业绩
|
总业绩
|
小A
|
100
|
200
|
100
|
400
|
select user_id,
count ( case
performance_type when '
新增' then '
新增业绩' end )as
新增业绩 ,
count ( case
performance_type
when '
签约' then '
签约业绩' end )as
签约业绩 ,
count ( case
performance_type when '
跟进' then '
跟进业绩' end )as
跟进业绩,
count (*) as 总业绩
from
t_user_performance group by
user_id