首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

mysql有没有相仿sum一样的*=函数

2012-11-11 
mysql有没有类似sum一样的*函数我想在获取几条数据之间的其中一个字段的乘积,字段是小数型的,如果是加可

mysql有没有类似sum一样的*=函数
我想在获取几条数据之间的其中一个字段的乘积,字段是小数型的,如果是加可以用sum,但是用乘有没有这样的函数,如果mysql没有,自己怎么写这个函数?

[解决办法]
这个还真没有遇到过,请高人继续,我这里有一个变通的想法,你试试:
select agv(字段) * count(字段) from 表
[解决办法]
mysql> create table test1(a int);
Query OK, 0 rows affected (0.03 sec)

mysql> insert into test1 values(2);
Query OK, 1 row affected (0.00 sec)

mysql> insert into test1 values(3);
Query OK, 1 row affected (0.00 sec)

mysql> insert into test1 values(4);
Query OK, 1 row affected (0.00 sec)

mysql> insert into test1 values(5);
Query OK, 1 row affected (0.00 sec)

mysql> select power(10,sum(log(10,a))) from test1;
+--------------------------+
| power(10,sum(log(10,a))) |
+--------------------------+
| 119.99999999999996 |
+--------------------------+
1 row in set (0.00 sec)

mysql>
[解决办法]

探讨

这个还真没有遇到过,请高人继续,我这里有一个变通的想法,你试试:
select agv(字段) * count(字段) from 表

[解决办法]
null就判断一下变成1啊


select power(10,sum(log(10,ifnull(a,1)))) from test1;
[解决办法]
没有这种标准的聚合函数。只能自己写自定义函数或者在程序中实现。
[解决办法]
没有那个DB会提供乘积方法,应该不属于聚集方法,用sql直接计算,不太合理吧
应该在ap中直接将结果拿来计算

热点排行