You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取MySQL中user_login表每个用户的最后登录记录?

获取用户最后登录时间的SQL解决方案

嗨,这个需求其实很容易实现,我们只需要利用SQL的聚合函数结合分组操作就能搞定。

核心思路

每个用户的登录记录会有多条,我们可以按userId分组,然后在每个分组里找出最大的tstamp值——这个最大值就是该用户的最后登录时间。

实现语句

SELECT userId, MAX(tstamp) AS last_login_time
FROM user_login
GROUP BY userId;

语句解释

  • MAX(tstamp):在每个用户的登录记录分组中,提取时间戳最大的那条,也就是最后一次登录的时间;用AS last_login_time给结果列起一个更直观的别名,方便后续使用。
  • GROUP BY userId:确保我们按用户维度聚合数据,每个用户只会返回一条记录。

可选:添加时间范围过滤

如果你想只统计某日期之后有登录行为的用户的最后登录时间,可以结合你之前提到的WHERE条件:

SELECT userId, MAX(tstamp) AS last_login_time
FROM user_login
WHERE tstamp > '2017-10-01 00:00:00'
GROUP BY userId;

举个实际例子,假设你的user_login表有以下数据:

userIdtstamp
12023-05-01 08:30:00
12023-05-03 14:15:00
22023-05-02 09:00:00

执行核心语句后,会得到结果:

userIdlast_login_time
12023-05-03 14:15:00
22023-05-02 09:00:00

这样就完美得到了包含用户ID和最后登录时间的表格啦!

内容的提问来源于stack exchange,提问作者wwl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:46:51