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

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

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

用rank()over() 做排序再取值

select
  name,
  t.tpye,
  t.ldate
from
  (
    select
      u.name,
      c.name tpye,
      max(l.date) ldate,
      rank() over (
        partition by u.name
        order by
          l.date desc
      ) posn
    from
      login l
      left join user u on l.user_id = u.id
      left join client c on l.client_id = c.id
    group by
      u.name,
      c.name,
      l.date
  ) t
where
  t.posn = 1
order by
  name

全部评论

相关推荐

01-30 09:45
燕山大学 Java
喵_coding:这种直接跑就完事了 哪有毕业了才签合同 任何offer和三方都没有的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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