题解 | #牛客每个人最近的登录日期(一)#
牛客每个人最近的登录日期(一)
http://www.nowcoder.com/practice/ca274ebe6eac40ab9c33ced3f2223bb2
知识点
- 先按照id进行分组,日期最大的就是最近登录
- 还可以使用窗口函数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
查看11道真题和解析