开窗函数| #牛客每个人最近的登录日期(二)#

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

http://www.nowcoder.com/practice/7cc3c814329546e89e71bb45c805c9ad

子查询

select 
    distinct u.name as u_n
    ,c.name as c_n
    ,date 
from
    (
        select *
        from login
        where id in 
            (
                select max(id) #子查询筛选出最近登录的id
                from login
                GROUP by user_id
            ) 
    ) l
join `user` u
    on l.user_id = u.id
join client c
    on l.client_id = c.id
order by u_n asc 

开窗函数

select 
    distinct u.name as u_n
    ,c.name as c_n
    ,date 
from
    (
        select *,
        max(id) over(PARTITION BY user_id ) as last_in
        from login
    ) l
join `user` u
    on l.user_id = u.id
join client c
    on l.client_id = c.id
where l.id = last_in 
order by u_n asc 
全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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