oracle里面有乘积的聚合函数吗,如sum是相加的,我要个相乘的,有吗

yuji821 2011-11-27 09:00:50
oracle里面有乘积的聚合函数吗,如sum是相加的,我要个相乘的,有吗
...全文
1677 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
xxylovecl 2013-11-12
  • 打赏
  • 举报
回复
如果为0就出不来了
我心飞翔 2011-11-28
  • 打赏
  • 举报
回复
实测成功:

CREATE TABLE T23
(
n NUMBER(4)
);
INSERT INTO T23 VALUES(1);
INSERT INTO T23 VALUES(2);
INSERT INTO T23 VALUES(3);
INSERT INTO T23 VALUES(4);

SELECT EXP(SUM(LN(n))) FROM T23;


结果为:24
xunmengzhi 2011-11-28
  • 打赏
  • 举报
回复

--测试数据
create table tb_a(id int,num int);
insert into tb_a
select 1,2 from dual union all
select 3,4 from dual;
--执行查询
Select power(10, Sum(Log(10, num))) From tb_a
--查询结果
8
虫洞 2011-11-28
  • 打赏
  • 举报
回复
早就有关于累乘的讨论了
楼主百度一下:oracle 累乘
有你想要的
oO寒枫Oo 2011-11-28
  • 打赏
  • 举报
回复
select exp(ln(1)+ln(2)+ln(6)) from dual;
oO寒枫Oo 2011-11-28
  • 打赏
  • 举报
回复
有的 把几个函数函数整合一下 得出的结果最后round一下。、
我心飞翔 2011-11-28
  • 打赏
  • 举报
回复
就是一列的各行的数据,自己相乘?
好象没有吧,不过可以写个存储过程,轻松完成。或写个自定义的函数罢。
xiedi1209 2011-11-28
  • 打赏
  • 举报
回复
他是想一定条件中的一堆数乘积
梁图真 2011-11-28
  • 打赏
  • 举报
回复
select exp(sum(ln( field_name ))) from table_name;
引用
cosio 2011-11-28
  • 打赏
  • 举报
回复
关键是你要如何相乘?
forgetsam 2011-11-28
  • 打赏
  • 举报
回复
先取log的sum,再power。
hllfl 2011-11-27
  • 打赏
  • 举报
回复
http://www.byywee.com/page/M0/S218/218694.html
hllfl 2011-11-27
  • 打赏
  • 举报
回复
木有吧
直接 select a*b from tb;

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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