SQL:使用两个查询的结果计算%

时间:2018-07-12 15:52:30

标签: sql postgresql

我知道如何查询我的数据库以查找上一期中有多少用户,并且我知道如何查询数据库以查找上一期中有多少人购买了。现在,我很想将两者结合起来,以找出最近一段时间内购买的用户百分比(转化率)。

这是我的尝试,但似乎没有效果:/非常感谢任何帮助! (使用PostgreSQL)

with user_count as
(select count(distinct user_id) from log),
buyer_count as (select count (distinct user_id) from log where event_type = 'Purchase')
select buyer_count / user_count * 100 as 'conversion_rate' from log
where country = 'XX' and date = 'XX'
;

1 个答案:

答案 0 :(得分:0)

我只会使用条件聚合:

select (count(distinct case when event_type = 'Purchase' then user_id end) * 100.0 /
        nullif(count(distinct user_id), 0)
      ) as conversion_rate
from log l
where country = 'XX' and date = 'XX'