2

通过以下查询,我可以每天为每个客户获得批准的交易。

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

我想得到批准%,即approval_per,是100*(count(client_id)/response),而count(client_id)是批准交易的客户数量。

响应是整个响应的计数,包括所有值(已批准和未批准)。我可以通过 得到响应select count(response) from sale,但是如何在同一查询中计算 % 是现在面临的问题。我尝试了一些选项,因为它不起作用,到达了用户组。

所以我预期的输出格式是 client_id,receive_day,count(client_id),approval_per。

非常感谢您的任何帮助

感谢和问候,

dti

4

1 回答 1

0

您可以简单地添加另一个计算该计数的子查询。同样对于您现在拥有的查询,似乎没有必要拥有该子查询(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
于 2012-11-08T21:00:38.727 回答