门户网站制作流程,鲁班设计远程工作,wordpress评论嵌套样式修改,wordpress地址不能修改密码【背景】
很多场景下#xff0c;需要将长表根据不同的搜索条件GroupBy之后变成横向的短表#xff0c;例如#xff1a;
分公司收益年份a1002022b2002022c3002022a4002021b5002021c6002021
想要变化为#xff1a;
分公司2022收益2021收益a100400b200500c300600
笨办法是…【背景】
很多场景下需要将长表根据不同的搜索条件GroupBy之后变成横向的短表例如
分公司收益年份a1002022b2002022c3002022a4002021b5002021c6002021
想要变化为
分公司2022收益2021收益a100400b200500c300600
笨办法是分别通过where 年份2021和where 年份2022并以分公司groupby后获得相同结构的列然后以分公司为条件进行join。这种写法的问题在于有几列就要写几个相同结构的子查询然后将所有列Join非常繁杂且难于维护。
【更简洁的写法】
用case when配合sum
SELECT分公司,SUM(CASE WHEN YEAR(年份) 2022 THEN 收益 END) AS 2022收益,SUM(CASE WHEN YEAR(年份) 2021 THEN 收益 END) AS 2021收益
FROMtransactions
GROUP BY分公司;一个查询就可以搞定而且非常便于维护。