前言
接了一个需求,产品想分析一下用户增长的曲线。也就是某个时间段的每日总人数列表。好对近期活动进行一个效果的评测。这个统计sql还是花了我一小段时间的。mysql统计这个还是需要一定的技巧的。
需求分析
user_id
reg_time
1
2019-09-03
2
2019-09-04
3
2019-09-04
4
2019-09-05
5
2019-09-05
6
2019-09-06
假如上表user_info,我们很容易根据时间维度统计出每日新增的人数。sql如下:
select reg_time, count(user_id) daily_quantity
from user_info
group by reg_time
通过上面的sql我们很容易得出以下列表:
reg_time
daily_quantity
2019-09-03
1
2019-09-04
2
2019-09-05
2
2019-09-06
1
但是这个并不是我们想要的结果。我们想要的应该是 上一天的总人数加上今天的净增长数,以此类推。也就是我们想要:
reg_time
daily_quantity
2019-09-03
1
2019-09-04
3
2019-09-05
5
2019-09-06
<