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

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

https://www.nowcoder.com/practice/16d41af206cd4066a06a3a0aa585ad3d

-- 思路是分别求出首次登录数和次日登录数
-- 首次登录数就是一共有几个独立访客
-- 次日登录数就是登录日期 - 首次登录日期 = 1的独立访客数
select
    round(
        count(
            distinct case
                when datediff (t2.date, t1.first_date) = 1 then t1.user_id
            end
        ) / count(distinct t2.user_id),
        3
    ) as p
from
    (
        select
            user_id,
            min(date) as first_date
        from
            login
        group by
            user_id
    ) as t1
    join login as t2 on t1.user_id = t2.user_id;

全部评论

相关推荐

烤点老白薯:越上了年纪越感觉自己死期将至了。到最后什么都会没有。什么东西都变得无所谓,差不多就得了,一份工作能维持未来的基本生存需要,就已经很好了。平平安安的活着最重要啊
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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