Sql 如何将列的总和作为包含列数据的新行获取

Sql 如何将列的总和作为包含列数据的新行获取,sql,Sql,有一个包含四列的表: SrNo Descript item1 item2 1 | AA | 45 | 25 2 | BB | 25 | 51 3 | CC | 41 | 22 我希望得到这样的结果: SrNo| Descript| item1 |item2| totalitems 1 | AA | 45 | 25 | 70 2 | BB | 25 | 51 | 76 3 | CC | 41

有一个包含四列的表:

SrNo Descript item1 item2 
1   | AA     | 45  | 25
2   | BB     | 25  | 51
3   | CC     | 41  | 22
我希望得到这样的结果:

SrNo| Descript| item1 |item2| totalitems
1   | AA      | 45    | 25  |  70
2   | BB      | 25    | 51  |  76
3   | CC      | 41    | 22  |  63
4   | Total   | 111   | 98  | 209
drop table #t
create table #t(SrNo int, Descript varchar(10),item1 int,item2 int)
insert into #t values( 
1,'AA',45,25),
(2,'BB',25,51),
(3,'CC',41,22)


select  SrNo,Descript,item1,item2,item1+item2 as total into t6
from #t

select * from t6
union all

select 4,'Total',sum(item1),sum(item2),sum(total) from t6
像这样的

select SrNo, Descript, item1, item2, item1+item2 as totalitems
from yourtable
Union all
select max(SrNo)+1, 'Total', sum(item1), sum(item2), sum(item1)+sum(item2) as totalitems
from yourtable
注意:如果
item1
item2
的数据类型是
varchar
,那么在添加类似内容之前,您可能必须
cast
将其转换为
int

select SrNo, Descript, item1, item2, item1+item2 as totalitems
from yourtable
Union all
select max(SrNo)+1, 'Total', sum(item1), sum(item2), sum(item1)+sum(item2) as totalitems
from yourtable
注意:如果
item1
item2
的数据类型是
varchar
,那么在添加类似内容之前,您可能必须
cast
将其转换为
int

select SrNo, Descript, item1, item2, item1+item2 as totalitems
from yourtable
Union all
select max(SrNo)+1, 'Total', sum(item1), sum(item2), sum(item1)+sum(item2) as totalitems
from yourtable
注意:如果
item1
item2
的数据类型是
varchar
,那么在添加类似内容之前,您可能必须
cast
将其转换为
int

select SrNo, Descript, item1, item2, item1+item2 as totalitems
from yourtable
Union all
select max(SrNo)+1, 'Total', sum(item1), sum(item2), sum(item1)+sum(item2) as totalitems
from yourtable
注意:如果
item1
item2
的数据类型是
varchar
,那么在添加之前,您可能必须
cast
将其转换为
int

SrNo| Descript| item1 |item2| totalitems
1   | AA      | 45    | 25  |  70
2   | BB      | 25    | 51  |  76
3   | CC      | 41    | 22  |  63
4   | Total   | 111   | 98  | 209
drop table #t
create table #t(SrNo int, Descript varchar(10),item1 int,item2 int)
insert into #t values( 
1,'AA',45,25),
(2,'BB',25,51),
(3,'CC',41,22)


select  SrNo,Descript,item1,item2,item1+item2 as total into t6
from #t

select * from t6
union all

select 4,'Total',sum(item1),sum(item2),sum(total) from t6
试着这样做:

SrNo| Descript| item1 |item2| totalitems
1   | AA      | 45    | 25  |  70
2   | BB      | 25    | 51  |  76
3   | CC      | 41    | 22  |  63
4   | Total   | 111   | 98  | 209
drop table #t
create table #t(SrNo int, Descript varchar(10),item1 int,item2 int)
insert into #t values( 
1,'AA',45,25),
(2,'BB',25,51),
(3,'CC',41,22)


select  SrNo,Descript,item1,item2,item1+item2 as total into t6
from #t

select * from t6
union all

select 4,'Total',sum(item1),sum(item2),sum(total) from t6
试着这样做:

SrNo| Descript| item1 |item2| totalitems
1   | AA      | 45    | 25  |  70
2   | BB      | 25    | 51  |  76
3   | CC      | 41    | 22  |  63
4   | Total   | 111   | 98  | 209
drop table #t
create table #t(SrNo int, Descript varchar(10),item1 int,item2 int)
insert into #t values( 
1,'AA',45,25),
(2,'BB',25,51),
(3,'CC',41,22)


select  SrNo,Descript,item1,item2,item1+item2 as total into t6
from #t

select * from t6
union all

select 4,'Total',sum(item1),sum(item2),sum(total) from t6
试着这样做:

SrNo| Descript| item1 |item2| totalitems
1   | AA      | 45    | 25  |  70
2   | BB      | 25    | 51  |  76
3   | CC      | 41    | 22  |  63
4   | Total   | 111   | 98  | 209
drop table #t
create table #t(SrNo int, Descript varchar(10),item1 int,item2 int)
insert into #t values( 
1,'AA',45,25),
(2,'BB',25,51),
(3,'CC',41,22)


select  SrNo,Descript,item1,item2,item1+item2 as total into t6
from #t

select * from t6
union all

select 4,'Total',sum(item1),sum(item2),sum(total) from t6
尝试

尝试

尝试

尝试



正确,它可以获得totalitems,但如何在相同的结果集中打印SrNo 4正确,它可以获得totalitems,但如何在相同的结果集中打印SrNo 4正确,它可以获得totalitems,但如何在相同的结果集中打印SrNo 4正确,它可以获得totalitems,但如何在相同的结果集中打印SrNo 4两件事是错误的。第一个语法无效,您需要在外部选择cte。第二列不匹配SELECT 4只处理指定的样本数据,但我想OP更喜欢一个更通用的解决方案……两件事是错误的。第一个语法无效,您需要在外部选择cte。第二列不匹配SELECT 4只处理指定的样本数据,但我想OP更喜欢一个更通用的解决方案……两件事是错误的。第一个语法无效,您需要在外部选择cte。第二列不匹配SELECT 4只处理指定的样本数据,但我想OP更喜欢一个更通用的解决方案……两件事是错误的。第一个语法无效,您需要在外部选择cte。第二列不匹配Select 4只处理指定的样本数据,但是我想OP更喜欢一个更通用的解决方案……你也可以尝试使用一个名为rollup的运算符,它可以使用UNION汇总数据,得到不需要out的总计。你也可以尝试使用一个名为rollup的运算符,它可以使用UNION汇总数据,得到不需要out的总计。你也可以尝试使用一个名为rollup的运算符您还可以尝试使用名为rollup的运算符,该运算符将在最后使用SrNo的unionAdd顺序汇总数据,以确保结果集顺序正确!在末尾添加按SrNo排序的顺序,以确保结果集顺序正确!在末尾添加按SrNo排序的顺序,以确保结果集顺序正确!在末尾添加按SrNo排序的顺序,以确保结果集顺序正确!