题解 | #牛客每个人最近的登录日期(四)#

牛客每个人最近的登录日期(四)

https://www.nowcoder.com/practice/e524dc7450234395aa21c75303a42b0a

SELECT
b.date,
count(a.user_id)
FROM
(
    SELECT
    distinct date
    FROM
    login
) b
LEFT JOIN 
(
SELECT
user_id,
min(date)  date
FROM
login
GROUP BY 
user_id
) a
ON a.date=b.date
GROUP BY b.date

1.先以用户分组计算最小的登陆日期,可知每个用户的首次登陆日期

2.再以首次登陆日期分组计算用户数

3.由于第一步会把没有新用户的日期会被筛选掉

所以多用了一个子查询来填补日期

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务