繁体   English   中英

SQL:寻找“新用户”与“回访用户”的比例

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM