计算中位数为3列在BigQuery表

0

的问题

我在试图建立一个查询来计算,中位数为3列价值观。 我的表看起来像下面,

项目 第1栏 第2栏 第3栏
一个 10 12 4
B 5 14 20
C 15 5 4

我希望能够输出,

项目 第1栏 第2栏 第3栏 中值
一个 10 12 4 10
B 5 14 20 14
C 15 5 4 5

我已经尝试了percentile_cont()但是,这似乎是唯一的值在一个单列。 我如何实现这一目标?

google-bigquery median
2021-11-23 17:41:55
2

最好的答案

2

考虑下文的方法

select *, 
  ( select distinct percentile_disc(col, 0.5) over() 
    from unnest([Column1, Column2, Column3]) as col
  ) AS Median
from your_table       

如果应用于样本数据,在你的问题-输出

enter image description here

2021-11-23 22:50:39

谢谢你! 这工作!
pear_geepee
0

你有没有试过这样的:

select Col1, Col2, Col3, 
       PERCENTILE_CONT([Col1, Col2, Col3], 0.5) OVER() AS Median
from   tableName
2021-11-23 18:06:09

是的,但是那错误行为 没有匹配的名为分析功能PERCENTILE_CONT参数类型:阵<FLOAT64>,FLOAT64. 支持的签名:PERCENTILE_CONT(FLOAT64,FLOAT64);PERCENTILE_CONT(数字,数字);PERCENTILE_CONT(BIGNUMERIC,BIGNUMERIC)在[5:3]
pear_geepee

其他语言

此页面有其他语言版本

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................