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

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

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

跟前面汇总每个部门最高薪水一样的,4种方法

我的方法:

with tmp as(
select l.user_id ui,date,u.name u_n,c.name c_n from login l join user u on l.user_id=u.id 
join client c on c.id=l.client_id
)
select u_n,c_n,date from tmp join(select user_id,max(date)d from login 
group by user_id)t1 on tmp.ui=t1.user_id and tmp.date=t1.d
order by u_n

max聚合窗口函数,比rank方便一点

select user.name, client.name, d date
from user,
client,
(select *, max(date) over(partition by user_id) d from login) t
where user.id = t.user_id
and client.id = t.client_id
and t.date = t.d
order by user.name
SQL题解 文章被收录于专栏

主要是为自己做个笔记

全部评论

相关推荐

不会做题的小熊:我感觉我就算是找不到工作,我也不会作弊进去,作弊进去感觉一方面是自己不踏实,其次就是都靠作弊了,那后面肯定工作的心态是不一样的,没有一种内驱力。
点赞 评论 收藏
分享
02-05 17:50
已编辑
武汉工程科技学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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