读书人

在sql中SUM可以累加有没有方法可以累

发布时间: 2012-03-17 19:06:27 作者: rapoo

在sql中SUM可以累加,有没有方法可以累乘?
在sql中SUM可以累加,有没有方法可以累乘?就是把某字段的值全部相乘,有没有好一点的方法

[解决办法]
自己函就可以了
[解决办法]
你真的认为这个能得到准确结果? 对数是要转换成浮点数运算的。
[解决办法]

select * from t
declare @i bigint --把它定bigint,用吧
set @i=1

select @i=@i*qty from t
print @i
[解决办法]
刚才在oralce社区问了一下,一会就有人回了下面一段SQL
--测试数据
create table t(id int,qty int);
insert into t
select 1,2 from dual union all
select 2,4 from dual union all
select 3,6 from dual union all
select 4,5 from dual;
--执行查询
Select power(10, Sum(Log(10, qty))) From t
--查询结果
240

我想了10分钟才想明白,不得不服,做oralce的都是搞大项目的,牛人就是多。
明天再发到java社区看看,搞java的牛人更多,看看还有什么解法,呵呵。
-----------------------------------------
同放到SQL里,果是239,float算
Select power(10, Sum(Log10( qty))) From t
[解决办法]
用 Avg()算出平均数,再乘以Count()算出的总数。
试试 Avg()*Count()

读书人网 >SQL Server

热点推荐