SQL学起来很简单,各种方法也是一看就懂,尽管刷了一些sql相关的题目,但大多都是停留在课后习题的层面,面试中遇到具体业务中的SQL题,能够理解意思、也能知道用什么方法,但就是写不出来。所以今天把sql在具体业务中常用的几种查询整理一下,做一个专题。
新增用户数量
1. 定义新增用户
在目前的“新增用户”的定义中,总的来说,可以分为两种方式,一种方式为一段时间内打开应用的新用户数量,这是广义的新增用户。
另一种方式为一段时间内产生过“关键行为”的新用户数量,比如购物/发言/充值,而对于增长黑客而言,则更关注第二种“新增用户”。
在我们本次讨论的题目中,就简单的把新增用户定义为在一段时间内登陆应用的新用户数量。
2. 如何统计“新增用户”指标
传统意义上,我们可以将各电子市场、官网的下载安装量作为新用户数量(当然,这非常不严谨),也可以将一段时间内打开APP的新用户人数作为新增用户,严谨一点是将新注册用户作为新增用户。
通常,我们将打开APP但未注册的新用户叫做访客,在用户全生命周期中,也叫潜客,后续对应新手、成长、成熟、流失几个阶段。在增长黑客的AARRR模型中,将用户生命周期分为获取用户、提升活跃、提高留存、获取收入、自传播5个关键阶段,打开APP的新用户就是代表着获取了一个新用户。
当然,我们本次题目讨论的情况比较简单,仅按照登陆的新用户数量作为新增用户数。
使用SQL计算日新增用户
1. 观察用户登陆(login)记录表
用户登陆(login)表包含4个字段,分别为id(每条记录的id)、user_id(用户的id)、client_id(客户端id)、date(登陆日期)
id | user_id | client_id | date |
---|---|---|---|
1 | 2 | 1 | 2020-10-12 |
2 | 3 | 2 | 2020-10-12 |
3 | 1 | 2 | 2020-10-12 |
4 | 2 | 2 | 2020-10-13 |
5 | 1 | 2 | 2020-10-13 |
6 | 3 | 1 | 2020-10-14 |
7 | 4 | 1 | 2020-10-14 |
8 | 4 | 1 | 2020-10- |