sql问题总结

来源:互联网 发布:国牌lolita淘宝店铺 编辑:程序博客网 时间:2024/06/12 12:35

sql sum 函数如何加条件?


有table如下 

id | a | b
-------------------------- 
1 | 2 | 北京 
2 | 3 | 河南
3 | 1 | 北京
4 | 2 | 山东
5 | -4 | 山东
6 | 3 | 河南
7 | 3 | 北京
8 | -5 | 北京

把北京、河南、山东的a的和求出来,得到下面的结果

北京 | 河南 | 山东
-------------------------- 
1 | 6 | -2 

-sql2008+,行列转换的查询方式
select from 
pivot
(
 sum(a)
 for
 in(北京,河南,山东)
)
 
--任意版本
select 
sum(case when b='北京' then else endas 北京,
sum(case when b='河南' then else endas 河南,
sum(case when b='山东' then else endas 山东
from