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

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

https://www.nowcoder.com/practice/e524dc7450234395aa21c75303a42b0a

-- 硬写完看了题解才发现我的方法好复杂
-- 不过这也是我一开始想的方法,算是给各位提供一下思路的吧
-- 第一层子查询是找出每个用户的首次登录时间
-- 第二层子查询是找出每个首次登录时间的人数
-- 最外层查询是右连接login表,然后使用coalesce函数将None值替换成0
-- ps:已经知道自己写的很复杂了。。
select distinct
    t3.date,
    COALESCE(t2.new, 0) as new
from
    (
        select distinct
            login_date,
            count(user_id) as new
        from
            (
                select
                    user_id,
                    min(date) as login_date
                from
                    login
                group by
                    user_id
            ) as t1
        group by
            login_date
    ) as t2
    right join login as t3 on t2.login_date = t3.date

全部评论

相关推荐

09-19 12:15
门头沟学院 Java
迷茫的大四🐶:这下是真的打牌了,我可以用感谢信和佬一起打牌吗
点赞 评论 收藏
分享
karis_aqa:和hr没关系,都是打工的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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