题解 | #牛客每个人最近的登录日期(四)#
牛客每个人最近的登录日期(四)
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.由于第一步会把没有新用户的日期会被筛选掉
所以多用了一个子查询来填补日期

查看19道真题和解析