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

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

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

  1. 首先在子查询连接题中的几个表并中选出所有需要的字段,并用row_number根据name分组汇总并根据date从大到小排序标号。然后从子查询中选出所需字段并限制标号为1。
select name, c_name, date from
(select u.name, c.name as c_name, l.date, 
 row_number() over (partition by u.name order by l.date desc) as ranking
from login as l, user as u, client as c
where l.user_id = u.id and l.client_id = c.id) as temp
where ranking = 1
  1. 在子查询中连接login和user两个表并根据user_id分组汇总,选出user_id和date的分组最大值。然后连接login,user,client和子查询结果,使得login表的范围限制在子查询结果的范围内,最后选出所需字段并按user_name排序。
select u.name as u_n, c.name as c_n, temp.latest
from login as l, user as u, client as c,
(select l2.user_id, max(l2.date) as latest
from login as l2, user as u2
where l2.user_id = u2.id
group by l2.user_id) as temp
where l.user_id = temp.user_id and l.client_id = c.id and
      l.user_id = u.id and l.date = temp.latest
order by u.name
全部评论

相关推荐

合适才能收到offe...:项目岗是什么岗?我看你有段好像跟策划运营相关,如果找运营的话第三段经历写详细点儿。 个人建议是把自我评价删了换成专业技能放在工作经验上或者下面。学生会那个也可以删,把第一个包装成店铺运营,写4-6给点。第三个也是写4-6个点。注意工作内容➕部分数据。 投递的时候BOS招呼用语改一下,换成我有xx工作经验,熟练掌握xx技能样式,也可以简历截图然后直接发送。
点赞 评论 收藏
分享
在笔试的柠檬精很想去...:兄弟们,你们这个大厂,中厂,小厂怎么定义的 初来驾到,别笑话我,只要能学到本事,不管大厂小厂都可以,但是别进到黑厂就行
找实习记录
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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