整个 MySQL 列的乘积

Lud*_*sed 1 mysql

MySQL 是否有任何类似的功能SUM,然后执行列MULTIPLICATION的功能?

示例: 我有一个这样的表,我想乘以整个列

+--------------+
| combinations |
+--------------+
|            3 |
|            5 |
|            4 |
|            6 |
|            1 |
|            3 |
|            4 |
+--------------+
Run Code Online (Sandbox Code Playgroud)

预期结果:

+----------------------------+
| product_total_combinations |
+----------------------------+
|                       4320 |
+----------------------------+
Run Code Online (Sandbox Code Playgroud)

我无法在任何地方找到如何实现这一目标。任何帮助表示赞赏。

Mic*_*ann 5

正如如何创建用户定义的聚合函数所解释的那样没有这样的聚合函数(另见此处)。

但是,您可以通过以下方式模拟您的产品:

log(product(x) ) = sum(log(x))

SELECT EXP(SUM(LOG(a))) AS product
FROM t ;
Run Code Online (Sandbox Code Playgroud)

请注意,可能存在舍入错误。如果这都是整数,请ROUND(...)围绕EXP.