gpt4 book ai didi

hive - 如何使用Hive/Presto查找列的百分比

转载 作者:行者123 更新时间:2023-12-01 00:51:35 24 4
gpt4 key购买 nike

假设我有一个表格,看起来像:

Reason          | Duration
Eating 40
Drinking 60
Everything Else 100

我如何获得这样的表:
Reason          | Duration | Duration Percent
Eating 40 20
Drinking 60 30
Everything Else 100 50

最佳答案

您可以使用window function来计算总数:

SELECT reason, duration, (duration * 100.0) / sum(duration) OVER () pct
FROM (
VALUES
('eating', 40),
('drinking', 60),
('other', 100)
) AS t (reason, duration)

请注意,Presto(根据SQL标准)执行整数除法,因此有必要将值之一转换为 double 或十进制(否则结果将为零)。
  reason  | duration | pct  
----------+----------+------
eating | 40 | 20.0
drinking | 60 | 30.0
other | 100 | 50.0
(3 rows)

关于hive - 如何使用Hive/Presto查找列的百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44479204/

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