SQL 同一个表里的多行怎么相加求和?

select SUM(金额),名称,金额, aa from test1 where 名称='591006'
and Time between '2015-10-23 08:52:50.000' and '2015-10-23 23:52:50.000' and aa='2367'
GROUP BY 名称,金额,aa,

怎么把6行的金额求和起来。哪位朋友知道的,帮忙下 谢谢!!

第1个回答  2015-10-26
你上面的SQL语句不就是么
只要把金额去掉就可以了啊

select SUM(金额),名称,金额, aa from test1
改成
select SUM(金额),名称,aa from test1追问

是把金额6行的数据相加起来,得到一个总数。

追答

。。难道我理解错了?
你把你要的结果写出来我看下

追问

总金额=100+198+288+336+500+1047
(2469)

追答

那就对的啊,就是你那SQL语句啊

select  SUM(金额),名称, aa from test1 
where  名称='591006' and Time between '2015-10-23 08:52:50.000' and '2015-10-23 23:52:50.000' and aa='2367'
GROUP BY 名称,金额,aa

结果:

金额     名称       aa

2469    591006  2367

追问

算出来 还是跟之前一样的,没办法汇总在一个总和里面

追答

你是要把总和保存在一个变量里吗?

DECLARE @Total int
select  @Total = SUM(金额) from test1 
where  名称='591006' and Time between '2015-10-23 08:52:50.000' and '2015-10-23 23:52:50.000' and aa='2367'
GROUP BY 名称,金额,aa

PRINT '总和为' + CAST(@Total AS nvarchar(10))

追问

恩恩,就是把金额总数算出来。
用你给的变量算出总和为:1047
可是6行,总和有 2469
数据不对也

追答

哦   那个分组吧金额去掉就好了

DECLARE @Total int
select  @Total = SUM(金额) from test1 
where  名称='591006' and Time between '2015-10-23 08:52:50.000' and '2015-10-23 23:52:50.000' and aa='2367'
GROUP BY 名称,aa
 
PRINT '总和为' + CAST(@Total AS nvarchar(10))

本回答被提问者采纳
相似回答