Oracle,PostgreSQL都没有直接求几何平均数的方法,须要经过如下方式实现:web
power(exp(1),ln(exp(sum(ln(col_a))))/count(1))sql
首先要知道求积如何实现:svg
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)
而后整合函数:spa
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中使用。code