gpt4 book ai didi

mysql - 编号为 :count format 的表中的中值

转载 作者:行者123 更新时间:2023-11-29 02:53:40 26 4
gpt4 key购买 nike

给定一个表格

+------------+-----------+
| Number | Count |
+------------+-----------+
| 0 | 7 |
+------------+-----------+
| 1 | 1 |
+------------+-----------+
| 2 | 3 |
+------------+-----------+
| 4 | 1 |
+------------+-----------+

它代表这样一个数列:0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 4

用sql求中位数,本例中为0。您将需要在配置单元 (qubole) 中运行此查询

想法?

最佳答案

Hive 中有一个相当简单的解决方案。你需要这个 UDF这里。本质上,您想要取消聚合您的计数数据,然后对其进行百分位数。

查询:

add jar /path/to/jar/brickhouse-0.7.1.jar;
create temporary function numeric_range as 'brickhouse.udf.collect.NumericRange';

select percentile(number, 0.50) median
from (
select number
from db.table
lateral view numeric_range(count) n1 as n) x

内部查询将产生

0
0
0
0
0
0
0
1
2
2
2
4

然后您可以在该列上使用percentile() 函数

输出:

median
------
0.0

关于mysql - 编号为 :count format 的表中的中值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32963127/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com