Hive 在配置单元查询中计算%
通过以下查询,我可以每天为每个客户获得批准的交易Hive 在配置单元查询中计算%,hive,hiveql,Hive,Hiveql,通过以下查询,我可以每天为每个客户获得批准的交易 select q1.client_id, q1.receive_day, count(q1.client_id) as cnt from (select * from sale where response=00) q1 group by q1.client_id, q1.receive_day 我希望获得批准%,即批准率为100*(计数(客户id)/响应),而计数(客户id)是已批准交易的
select
q1.client_id,
q1.receive_day,
count(q1.client_id) as cnt
from
(select * from sale where response=00) q1
group by
q1.client_id, q1.receive_day
我希望获得批准%,即批准率为100*(计数(客户id)/响应),而计数(客户id)是已批准交易的客户数量
响应是整个响应的计数,包括所有值(已批准和未批准)。我可以通过select count(response)from sale
获得响应,但是如何在这里计算同一查询中的百分比是我现在面临的问题。我尝试了一些选项,因为它不起作用,到达了用户组
因此,我期望的输出格式是客户id、接收日、计数(客户id)、批准日
非常感谢你的帮助
谢谢和问候
dti您只需添加另一个子查询即可计算该计数。同样,对于您现在的查询,似乎没有必要使用该子查询(q1) 我还假设您希望您的百分比应该是每个客户负责的交易百分比。即给定客户的交易数量除以总交易数量
SELECT
s.client_id,
s.receive_day,
count(s.client_id) as cnt,
100 * (count(s.client_id) / q1.total)
FROM
sale s,
(select count(*) total from sale) q1
WHERE
response = 00
GROUP BY
s.client_id, s.receive_day
当q1.total不在group by中时,如何在select中使用它?我实际上没有运行此配置单元查询,所以我可能忘记了这一点。