[英]SQL: Finding the “new users” to “returning users” ratio
我有一个如下表:
answer_id | 用户身份 | 日期 |
---|---|---|
1 | 22 | 2020-01 |
2 | 33 | 2020-02 |
3 | 78 | 2020-03 |
4 | 33 | 3030-04 |
我需要做的是找到新用户与回访用户的比例。 新的,是指只出现一次的user_id,比如22和78。而返回用户是指出现多次的user_id,比如33。例如,output应该是这样的—— --> 2:1 我需要用 SQL 来做,虽然我可能应该创建两个临时表,如下所示:
with table_a as(
select user_id , count(answer_id)
from 1
group by 1
having count(answer_id)>1
)
table_b as (
select user_id , count(answer_id)
from b
group by 1
having count(answer_id)<2
)
第一个表返回重复多次的 user_ids,第二个表返回唯一的 id 数。 但是,我只是迷失了下一步该做什么。 第一次尝试时,我想以某种方式加入他们,但我无法加入他们,因为没有任何匹配的字段。 任何人都可以帮助我如何找到比率?
您只想找出有多少频率为 1,有多少频率高于 1。 您可以稍后再操作 output。
SELECT sum(vol=1) as newUsers,
sum(vol>1) as returning,
count(*) as total
FROM (
SELECT user_id, count(*) as vol
FROM table GROUP BY user_id
) z
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.