题解 | #牛客每个人最近的登录日期(二)# 好像没看到用partition by的

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

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

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
;

全部评论
学到了,不用写join了
点赞 回复 分享
发布于 2022-07-19 23:59
不是很能看懂 t.date=t.d的意思
点赞 回复 分享
发布于 2022-06-20 20:50
补充一下: 根据楼主的代码,改成用rank函数也是可以的: select user.name, client.name,t.date from user, client, (select * from (select *, rank() over(partition by user_id order by date desc) d from login) t1 where t1.d=1 ) t where user.id = t.user_id and client.id = t.client_id order by user.name ;
点赞 回复 分享
发布于 2021-09-25 11:03
牛 学到了
点赞 回复 分享
发布于 2021-07-30 21:08
select u.name,c.name as c_n, max(date) over(partition by l.user_id) from login l,user u,client c where l.user_id=u.id and c.id=l.client_id order by u.name; 可以问一下这样写为什么输出结果不一样吗
点赞 回复 分享
发布于 2021-06-11 21:04

相关推荐

评论
66
10
分享

创作者周榜

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