首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

给表添加一个合计行,该如何处理

2012-02-05 
给表添加一个合计行表结构如下:ProvinceIDProvinceNameUserCount1河北2002山西1543河南2344山东2345新疆45

给表添加一个合计行
表结构如下:
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


select 0 as ProvinceID, '全国 ' as ProvinceName,sum(t2.UserCount)
from (select sum(UserCount) as UserCount from t1) as t2

select * from #t1

drop table t1
drop table #t1

热点排行