行列转换

Posted 一个写代码的人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了行列转换相关的知识,希望对你有一定的参考价值。

https://blog.csdn.net/mchdba/article/details/39163695

第一步,求两个表各自的数据
select DATE(a.create_date) as ‘nianfen‘,
sum(IF(a.type="0",1,0)) AS "shanghu",
SUM(IF(a.type="1",1,0)) AS "banzu",
SUM(IF(a.type="2",1,0)) AS "company",
0 as ‘zhaogong‘,
0 as ‘zhaohuo‘,
0 as ‘gongqiu‘,
0 as ‘gongcheng‘,
0 as ‘jianshe‘,
0 as ‘tujian‘,
0 as ‘advert‘,
0 as ‘dianqi‘,
0 as ‘yuanlin‘
from
dp_info a where DATE_FORMAT(create_date,‘%Y-%m‘)=‘2018-05‘
group by DATE(a.create_date)

union all

select DATE(a.date) as ‘nianfen‘,
0 as ‘shanghu‘,
0 as ‘banzu‘,
0 as ‘company‘,
sum(IF(a.to_type="招工信息",1,0)) AS "zhaogong",
SUM(IF(a.to_type="找活信息",1,0)) AS "zhaohuo",
SUM(IF(a.to_type="供求信息",1,0)) AS "gongqiu",
SUM(IF(a.to_type="工程机械",1,0)) AS "gongcheng",
SUM(IF(a.to_type="建设服务",1,0)) AS "jianshe",
SUM(IF(a.to_type="土建材料",1,0)) AS "tujian",
SUM(IF(a.to_type="装修材料",1,0)) AS "advert",
SUM(IF(a.to_type="电气材料",1,0)) AS "dianqi",
SUM(IF(a.to_type="园林景观",1,0)) AS "yuanlin"
from
fb_fabu a where DATE_FORMAT(date,‘%Y-%m‘)=‘2018-05‘
group by DATE(a.date)

 


第二步,求两个表合在一起的数据
select
xx.nianfen as ‘nianfen‘,
sum(xx.zhaogong) as "zhaogong",
sum(xx.zhaohuo) as ‘zhaohuo‘,
sum(xx.gongqiu) as ‘gongqiu‘,
sum(xx.gongcheng) as ‘gongcheng‘,
sum(xx.jianshe) as ‘jianshe‘,
sum(xx.shanghu) as ‘shanghu‘,
sum(xx.company) as ‘company‘,
sum(xx.banzu) as ‘banzu‘,
SUM(xx.tujian) AS "tujian",
SUM(xx.advert) AS "advert",
SUM(xx.dianqi) AS "dianqi",
SUM(xx.yuanlin) AS "yuanlin",
SUM(xx.tujian) AS "tujian"
SUM(IF(a.to_type="园林景观",1,0)) AS "yuanlin"
from
(
第一步内容
) xx
GROUP BY xx.nianfen


第三步,求和
select
‘总计‘ as ‘nianfen‘,
sum(ddd.zhaogong) as "zhaogong",
sum(ddd.zhaohuo) as ‘zhaohuo‘,
sum(ddd.gongqiu) as ‘gongqiu‘,
sum(ddd.gongcheng) as ‘gongcheng‘,
sum(ddd.jianshe) as ‘jianshe‘,
sum(ddd.shanghu) as ‘shanghu‘,
sum(ddd.company) as ‘company‘,
sum(ddd.banzu) as ‘banzu‘,
SUM(ddd.tujian) AS "tujian",
SUM(ddd.advert) AS "advert",
SUM(ddd.dianqi) AS "dianqi",
SUM(ddd.yuanlin) AS "yuanlin"
from
(
第二步的内容
)ddd

第四部合并

 

以上是关于行列转换的主要内容,如果未能解决你的问题,请参考以下文章

特殊EXCEL行列转换

sql动态实现行列转换

还是SQL行列转换问题~~

sql行列转换和累加问题~~~

Pandas行列转换的4大技巧

excel怎么进行行列转换,excel如何转换行和列