Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hive 在配置单元查询中计算%_Hive_Hiveql - Fatal编程技术网

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中使用它?我实际上没有运行此配置单元查询,所以我可能忘记了这一点。