sql语句,sum相关。比较难~~求教~~~

zhyoli 2006-03-19 07:01:04
如何对A表里的A1列和A2列相乘得到的值进行SUM统计。
比如:
A1 A2
---------------
10 20.2
22.4 33.9


先计算A1*A2的值。然后sum这个值放入一个标量。
...全文
432 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
zlp321002 2006-03-20
  • 打赏
  • 举报
回复
--SQL server 2005
declare @t float;
WITH TBCTE
AS
(
SELECT A1*A2 as sumA1A2 FROM TB
)
SELECT @t=sum(sumA1A2) FROM TBCTE
select @t
/*
----------------------
961.36

(1 行受影响)
*/
zhaiyf 2006-03-20
  • 打赏
  • 举报
回复
目的只是求和的话select sum(a3) from(select A1*A2 a3 from mytable)可以实现。`
DigData 2006-03-20
  • 打赏
  • 举报
回复
sum 是aggregate函数,和其它列一起使用时要加group分组的. 如

select c1,c2,sum(c1*c2) as res from tab group by 1,2
zfl2k 2006-03-20
  • 打赏
  • 举报
回复
如果要显示其他列的话就必须在group by 里出现该字段:
select c1,c2,sum(a1*a2) as a3 from table [where] [group by c1,c2]
zfl2k 2006-03-20
  • 打赏
  • 举报
回复
sql server oracle 可以直接:
select sum(a1*a2) as a3 from table [where] [group]
wuyg719 2006-03-19
  • 打赏
  • 举报
回复

select sum(a3) from(select A1*A2 a3 from mytable)
zhyoli 2006-03-19
  • 打赏
  • 举报
回复
但是我的 客户端用的.net啊 ~sql应该相同的吧····
boblaile 2006-03-19
  • 打赏
  • 举报
回复
db2的怎么到sql来了
zhyoli 2006-03-19
  • 打赏
  • 举报
回复
我的数据库是 db2的。。。。。=号不认识啊~
aniude 2006-03-19
  • 打赏
  • 举报
回复
declare @t table(a1 float,a2 float)
insert into @t select 10,20.2
union all select 22.4,33.9
select sum_all = sum(a1*a2) from @t
declare @tt float

sum_all
-----------------------------------------------------
961.3599999999999
zhyoli 2006-03-19
  • 打赏
  • 举报
回复
我的查询语句牵涉到多个表。。不过只有一个表里需求运算。。。我用sum(A1*A2) as xxx 提示什么group by,还有having 一类的。我没有用group by 啊。。
是不是要在where 或者order by 语句后面写点什么~
aniude 2006-03-19
  • 打赏
  • 举报
回复
---------------------
select sum_all=sum(a1*a2) from a
xeqtr1982 2006-03-19
  • 打赏
  • 举报
回复

declare @t table(a1 dec(10,2),a2 dec(10,2))
insert into @t select 10,20.2
union all select 22.4,33.9

select sum(a1*a2) as [sum] from @t
--这样?
boblaile 2006-03-19
  • 打赏
  • 举报
回复
我的表aa 有字段
a,b,c求a*b然后sum求和
SELECT sum(DISTINCT p.a*k.b) as g
FROM aa AS p INNER JOIN aa AS k
ON p.c = k.c


zhyoli 2006-03-19
  • 打赏
  • 举报
回复
最好是可以AS到某个变量。这样便于我输入到屏幕上。而且定义变量没有办法的。我是一条查询语句。。没有办法定义的。
huailairen 2006-03-19
  • 打赏
  • 举报
回复
create table MM(A1 float, A2 float)
---------------
insert into MM values(10 , 20.2)
insert into MM values(22.4 , 33.9)

declare @m float
set @m=0
select @m=@M+A1*A2 from MM

print @M
boblaile 2006-03-19
  • 打赏
  • 举报
回复
帮你顶下
不会!
好像要用到表的内连接

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧