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排序的顺序,以确保结果集顺序正确!