LeetCode-1107. 每日新用户统计(中等)
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/new-users-daily-count
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
本人思考:
第一步:先筛选出activity = 'login’的行,再根据user_id来分组,此时获得可能包含多个login和date信息的临时表
第二步:在上面临时表的基础上再对date使用min()最小聚合函数,此时得到只有一个login和一个date信息的临时表temp
第三步:再根据题目条件‘从今天起最多 90 天内’,使用datediff()函数,过滤掉不符合日期的信息
第四步:最后根据date来分组,使用count()来统计某个日期下有几个用户首次登陆
select temp.date as login_date , count(temp.user_id) as user_count
from
(select user_id ,min(activity_date)as date
from traffic
where activity = 'login'
group by user_id)temp
where datediff('2019-06-30',temp.date)<=90
group by temp.date