题解 | #牛客每个人最近的登录日期(三)#
牛客每个人最近的登录日期(三)
http://www.nowcoder.com/practice/16d41af206cd4066a06a3a0aa585ad3d
首先:指出某种思路不正确。
- 每人的最小日期的次日有登录则记成功,否则失败。(X)
然后:指出正确的思路。
- 每人的任何日期的次日有登录则记成功,否则失败。(V)
select
round(COUNT(distinct
case when datediff(b.date, a.date) = 1 then a.user_id end
) / count(distinct a.user_id), 3)
from login a
join login b
on a.user_id = b.user_id