星空网 > 软件开发 > 数据库

SQL分组多列统计(GROUP BY后按条件分列统计)

最近遇到一个问题,需要对一张表做统计,这个统计有什么特别之处值得我记录了下来呢?大家知道SQL中聚合函数GROUP BY的结果一般为一列,即多个值通过聚合函数运算统计到一起,但是如何将不同条件的值统计到不同列中呢,即按条件统计到多个列中。举个栗子:

YEARTYPEVALUE
20151100
20152200
20161150
20162300
20163100

 

 

 

 

 

 

转为:

YEARTYPE1TYPE2TYPE3
20151002000
2016150300100

 

 

 

 

这时候我们除了用到GROUP BY之外还需要CASE WHEN,SQL如下:

SELECT year, SUM(CASE WHEN type=1 THEN value ELSE 0 END) as type1, SUM(CASE WHEN type=2 THEN value ELSE 0 END) as type2, SUM(CASE WHEN type=3 THEN value ELSE 0 END) as type3, FROM table_test GROUP BY year

 

小小的知识点,记录下来并分享给有需要的人。

P.S. 这里TYPE是写死的,有没有办法能更灵活一点呢?




原标题:SQL分组多列统计(GROUP BY后按条件分列统计)

关键词:sql

sql
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

亚马逊新产品该做到的一些小细节:https://www.ikjzd.com/articles/5737
最新发现:卖家再也无法从PayPal上获取买家电子邮箱地址了!:https://www.ikjzd.com/articles/574
亚马逊没流量?试试这6个站外引流方法!:https://www.ikjzd.com/articles/5747
跨境卖家不能不知道的美国16大电商平台!:https://www.ikjzd.com/articles/575
中华人民共和国电子商务法通过,2019年1月1日开始施行:https://www.ikjzd.com/articles/5750
亚马逊发新安全认证通知 / 电子商务法通过:https://www.ikjzd.com/articles/5751
波兰vat要怎么报税与申报流程:https://www.kjdsnews.com/a/1842109.html
波兰vat要怎么报税与申报流程:https://www.xlkjsw.com/news/91228.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流