查询每个用户最后一次登录信息

文章目录
表结构和数据:
方法一:如果只需要用户id和最后一次登陆时间
方法二:如果需要携带其他日志信息
方法三:oracle数据库 使用row_num() over
表结构和数据:
CREATE TABLE `temp_test` (
`id` bigint(20) DEFAULT NULL,
`user_id` bigint(20) DEFAULT NULL,
`login_time` datetime DEFAULT NULL,
`msg` varchar(255) DEFAULT NULL
)
 


方法一:如果只需要用户id和最后一次登陆时间
select user_id ,max(login_time) from temp_test group by user_id
1
方法二:如果需要携带其他日志信息
根据user_id 、login_time关联原日志表即可

select oriTable.id,oriTable.user_id ,oriTable.msg,oriTable.login_time from temp_test oriTable
inner join (
select user_id ,max(login_time) maxTime from temp_test group by user_id
) maxTimeView
on oriTable.user_id =maxTimeView.user_id and oriTable.login_time=maxTimeView.maxTime
 
方法三:oracle数据库 使用row_num() over
SELECT * FROM (
SELECT user_id , login_time ,row_number() over (partition by user_id order by login_time desc) MM from temp_test )
WHERE mm = 1
    
partition by user_id :根据user_id 分区
————————————————
版权声明:本文为CSDN博主「Colourful.」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43560609/article/details/121976696

 
posted @ 2022-10-18 17:11  南国之恋  阅读(238)  评论(0编辑  收藏  举报