gpt4 book ai didi

hadoop - 计算 hive 中的百分比

转载 作者:可可西里 更新时间:2023-11-01 14:43:57 28 4
gpt4 key购买 nike

我在获取百分比时遇到了一些麻烦。

colA | cloB | colC
4 | a | y
5 | b | y
7 | a | n
8 | a | y
------------------
Output:
a 67%
b 100%

我必须获得 colB 中每个字母的 colC(所有“y”)的百分比。

我已经能够分别获得两个总计,但似乎无法使百分比起作用。
获取 a,b(colB) 的总 'y';

SELECT colB, COUNT(*) FROM tbl WHERE colC = '"y"' GROUP BY colB;
Output:
a 2
b 1

获取 colB 的总计

SELECT COUNT(colC) FROM tbl WHERE colC = '"y"';
Output:
4

提前致谢

最佳答案

使用 IF UDF 避免连接

SELECT t1.colB,
SUM( IF( colC == 'y', 1 , 0 ) )/ COUNT(*) * 100 as pct
FROM tbl t1
GROUP BY t1.colB;

关于hadoop - 计算 hive 中的百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23919854/

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