如何解决hive 获取计数列的百分比不起作用
我在 hive 中有以下查询,以获取每个列(集群、国家和航空公司)的计数百分比。但我的百分比列只包含 0.. 为什么/我在下面做错了什么?
select
count(*)/ t.cnt * 100 AS percentage,cluster,country,airline
from
table1
CROSS JOIN (SELECT COUNT(*) AS cnt FROM table1 ) t
GROUP
BY cluster,airline
解决方法
首先,你应该使用窗口函数。
其次,注意整数除法。
我会这样表述:
select count(*) * 100.0 / sum(count(*)) over () AS percentage,cluster,country,airline
from table1
group by cluster,airline;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。