题目
活动记录表:Activity
请写SQL查询出截至 2019-07-27(包含2019-07-27),近 30 天的每日活跃用户数(当天只要有一条活动记录,即为活跃用户)。
以 任意顺序 返回结果表。
查询结果示例如下。
示例 1:
解题思路
1.题目要求我们查询出截至 2019-07-27(包含2019-07-27),近 30 天的每日活跃用户数。也就是说要查询出 2019-06-28 到 2019-07-27 每一天的活跃用户数。
2.我们首先用between筛选出要求的查询出的日期,然后按照日期分组,最后对分好组的日期的用户id进行去重并统计出记录的个数返回即可。
代码实现
select activity_date as day, count(distinct user_id) as active_users
from activity
where activity_date between'2019-06-28' and '2019-07-27'
group by activity_date