题解 | #牛客每个人最近的登录日期(二)#
牛客每个人最近的登录日期(二)
http://www.nowcoder.com/practice/7cc3c814329546e89e71bb45c805c9ad
1 用开窗函数在各分组内以日期降序排名, 2 连接用户表和设备表, 3 where筛选第1步中排名为1的行,就是各分组中日期最晚的行数据
select user.name u_n,client.name c_n,t.date
from
(select user_id,client_id,date,rank() over(partition by user_id order by date desc) date_rank from login) t
left join user on t.user_id=user.id
left join client on t.client_id=client.id
where t.date_rank=1
order by u_n;