sql中有很多聚合函数,例如 COUNT、SUM、MIN 和 MAX。
但是唯独没有乘法函数,而很多朋友开发中缺需要用到这种函数,今天告诉大家一个不错的解决方案
logx+logy=logx*y
这是我们高中时期学过的对数计算,对数的相加等于指数的相乘,我们利用这个方式转换加法到乘法
实现方式,先对记录取对数log(),然后sum聚合,最后exp,结果就是记录相乘的结果
select exp(sum(log(col))) from table where id<100
实例如下:
正确无误,不信的朋友可以手动计算下我图中的数据,O(∩_∩)O~