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中直接将结果拿来计算

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

相关文章:

你感兴趣的文章:

标签云: