列不同条件的总和 [英] sum of column diffrent conditon

查看:64
本文介绍了列不同条件的总和的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嗨frd''z .............................

i有一张像这样的桌子。 ......................



hi frd''z.............................
i have a table like.......................

c.id	gas	water	wire	dranage	roadl	roadtype
1	100	100	0	0	100	a
1	25	0	51	55	250	b
1	0	0	12	0	150	c
1	60	80	0	70	50	d
2	50	0	20	50	10	a
2	50	70	0	0	50	b
2	0	80	0	20	20	c
2	0	0	10	50	30	d
.	.	.	.	.	.	.
.	.	.	.	.	.	.
n	n	n	n	n	n	n





----------------- -------------------------------------------------- -----------------------------

i wnat结果如........



选择当气体= 0.00然后总和(roadl)为b,当水= 0.00然后sum(roadl)为c,当wire = 0.00然后sum(roadl)为d ,当dranage = 0.00然后总和(roadl)作为来自表格





------------------------------------------------------------------------------------------------
i wnat result like........

select when gas=0.00 then sum(roadl)as b,when water=0.00 then sum(roadl)as c,when wire=0.00 then sum(roadl)as d,when dranage=0.00 then sum(roadl)as a from table

cid	b	c 	d	a	
1	150	400	150	250	
2	50	40	70	50





[edit]已添加代码块 - OriginalGriff [/ edit]



[edit]Code block added - OriginalGriff[/edit]

推荐答案

你需要使用CASE WHEN子句。

试试这个:

You need to use a CASE WHEN clause.
Try this:
SELECT cid,
       SUM(CASE WHEN gas=0 THEN roadl ELSE 0 END) AS b,
       SUM(CASE WHEN water=0 THEN roadl ELSE 0 END) AS c,
       SUM(CASE WHEN wire=0 THEN roadl ELSE 0 END) AS d,
       SUM(CASE WHEN dranage=0 THEN roadl ELSE 0 END) AS a
FROM MyTable GROUP BY cid


这篇关于列不同条件的总和的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆