MySQL中的调和均值和二次均值

时间:2018-01-09 13:54:12

标签: mysql

我的数据库中有一个数据列我需要找到一些数学运算(均值)。 对于算术平均值,SQL具有聚合函数AVG(),对于几何平均值,我可以使用以下

select exp(sum(ln(column)) / count(*)) from data_table

或此查询

select exp(avg(ln(column))) from data_table

但我也需要调和均值和二次均值。我怎么能在MySQL中做到这一点?提前谢谢。

2 个答案:

答案 0 :(得分:2)

来自维基的公式

For harmonic mean

enter image description here

您可以使用/usr/xpg4/bin/awk '/\<Fund/{flag=1;found=j=0; delete a} flag{a[++j]=$0} /'33969781'/ && flag{found=1} /\<\/Fund>/{flag=0 # Ending pattern & found show our array if(found){for (i=1;i<=j;i++){ print a[i]}}}' ABC_866.xml 表达式

For quadratic mean

enter image description here

您可以使用count(*)/sum(1/col)

sqrt(sum(col * col)/count(*))

Demo

答案 1 :(得分:1)

Harmonic mean

.altmacro

.macro irq_insertX number
    .section .text
    irq_stubX \number

    .section .data
    .long irq\number
.endm

.section .data
default_handlers:
.set i,0
.rept 256
    irq_insertX %i
    .set i, i+1
.endr

Quadratic mean

SELECT COUNT(*)/SUM(1/column_value) FROM data_table;