知识点

  1. 先按照id进行分组,日期最大的就是最近登录
  2. 还可以使用窗口函数first_value,取首行记录值,因此窗口函数中使用id分区然后date降序排序第一行就是最近登录日期

代码

select user_id, max(l.date) as d
from login as l
group by user_id
order by user_id 

select distinct user_id,
first_value(date) over(partition by user_id order by date desc) as d 
from login