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

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

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

思路: 首先根据最后需求得到的查询包含三个表,推出需要join这三个表然后得到u_n,c_n和date的查询表。 得到该表后,离题目所需答案只差一个“筛选出最近登陆日期”,所以用Windows function追加一列maxdate,然后用筛选条件date=maxdate即可筛选出满足最近登陆日期的

with base as (select *,max(date) over (partition by user_id) as mdate
from login)

select u.name as u_n,c.name as c_n,b.mdate
from user u, client c, base b 
where u.id=b.user_id
and c.id = b.client_id
and b.date=b.mdate
order by u_n ASC

全部评论

相关推荐

11-04 19:05
已编辑
东莞城市学院 单片机
不知道怎么取名字_:你这个要实习两年?哪有这么久的,感觉就是即使你毕业了,但还按实习的话,是不是不用给你缴社保公积金啥的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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