SQL求几几何平均数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/WMSOK/article/details/78989522

Oracle,PostgreSQL都没有直接求几何平均数的方法,需要通过以下方式实现:

power(exp(1),ln(exp(sum(ln(col_a)))))/count(1)

首先要知道求积如何实现:

with sele as (select 3 as col_a union all select 4 as col_a)
select exp(sum(ln(col_a))) from sele

然后再知道如何开方:

--对4开2次方
select power(exp(1),ln(4)/2)

然后整合函数:

with sele as (select 3 as col_a union all select 4 as col_a)
select power(exp(1),ln(exp(sum(ln(col_a)))))/count(1) from sele

这个函数也可以在group by中使用。

猜你喜欢

转载自blog.csdn.net/WMSOK/article/details/78989522