题解 | #牛客每个人最近的登录日期(四)#
牛客每个人最近的登录日期(四)
http://www.nowcoder.com/practice/e524dc7450234395aa21c75303a42b0a
先把用户首次登录事件放在一个子表里面
用登录表去join这个子表
得到每次登录表增加一列 非首次登录的会为None
只要count不是None的值就可以算出当天有多少人登录了
select
l.date,
count(first_login_tbl.first_date)
from login l
left join
(select user_id,
min(date) as first_date
from login
group by user_id) first_login_tbl
on l.user_id = first_login_tbl.user_id
and l.date = first_login_tbl.first_date
group by l.date
order by l.date;
查看4道真题和解析