题解 | #牛客每个人最近的登录日期(二)#
牛客每个人最近的登录日期(二)
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


查看11道真题和解析