题解 | #牛客每个人最近的登录日期(三)#
牛客每个人最近的登录日期(三)
http://www.nowcoder.com/practice/16d41af206cd4066a06a3a0aa585ad3d
思路:
先找出每个用户第一次登录的时间 再add_day进行判断 用左连接保留没有第二天登录的用户来做分母
小计:count记录行数 sum计算累加值
SELECT round(count(l2.user_id)/ count(l1.user_id),3) as p
FROM login l1 left join login l2 ON
l1.user_id=l2.user_id and
l2.date=date_add(l1.date,interval 1 day)
WHERE (l1.user_id,l1.date) in
(select user_id,min(date)
from login
group by user_id);
又犯了一个错:用集函数要group by 啊!

腾讯云智研发成长空间 5093人发布