表结构如下:
ProvinceID ProvinceName UserCount
1 河北 200
2 山西 154
3 河南 234
4 山东 234
5 新疆 456
6 西藏 123
... ... ...
我想用一条语句生成一个如下的结果
ProvinceID ProvinceName UserCount
0 全国 1432
1 河北 200
2 山西 154
3 河南 234
4 山东 234
5 新疆 456
6 西藏 123
... ... ...
如何实现阿?
------解决方案--------------------
select [ProvinceID]=0,[ProvinceName]= '全国 ',[UserCount]=sum(UserCount) from tablename
union all
select ProvinceID,ProvinceName,UserCount from tablename
------解决方案--------------------
反过来写可能简单点。
select ProvinceID,ProvinceName,UserCount from tablename
union all
select 0, '全国 ',sum(UserCount) from tablename
------解决方案--------------------
INSERT INTO tablename (ProvinceID,ProvinceName,UserCount)
values (0, '全国 ',(select sum(UserCount) from tablename))
------解决方案--------------------
create table t1(ProvinceID int,ProvinceName varchar(10),UserCount numeric(18,0))
go
insert into t1
select 1, '河北 ',200
union all
select 2, '山西 ',154
union all
select 3, '河南 ',234
union all
select 4, '山东 ',234
union all
select 5, '新疆 ',456
union all
select 6, '西藏 ',123
go
select ProvinceID,ProvinceName,UserCount
into #t1
from t1
go
insert into #t1