sql sum 带条件怎么写
有table如下id|a|b--------------------------1|2|北京2|3|河南3|1|北京4|2|山东5|-4|山东6|3|河南7|3|北京8|...
有table如下
id | a | b
--------------------------
1 | 2 | 北京
2 | 3 | 河南
3 | 1 | 北京
4 | 2 | 山东
5 | -4 | 山东
6 | 3 | 河南
7 | 3 | 北京
8 | -5 | 北京
把北京、河南、山东的a的和求出来,得到下面的结果
北京 | 河南 | 山东
--------------------------
1 | 6 | -2
sql 要怎么写?求大神 展开
id | a | b
--------------------------
1 | 2 | 北京
2 | 3 | 河南
3 | 1 | 北京
4 | 2 | 山东
5 | -4 | 山东
6 | 3 | 河南
7 | 3 | 北京
8 | -5 | 北京
把北京、河南、山东的a的和求出来,得到下面的结果
北京 | 河南 | 山东
--------------------------
1 | 6 | -2
sql 要怎么写?求大神 展开
2个回答
展开全部
--sql2008+,行列转换的查询方式
select * from 表
pivot
(
sum(a)
for
b in(北京,河南,山东)
)
--任意版本
select
sum(case when b='北京' then a else 0 end) as 北京,
sum(case when b='河南' then a else 0 end) as 河南,
sum(case when b='山东' then a else 0 end) as 山东
from 表
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |