gpt4 book ai didi

mysql - 根据最近登录的日期时间连接两个表

转载 作者:行者123 更新时间:2023-11-29 08:08:11 29 4
gpt4 key购买 nike

我正在使用 MySql 并有两个表 login_userslogin_timestamps

login_users记录user_idnameaddress,而表login_timestamps记录code> 保存 user_idtimestamp 的记录,每次用户登录时,此表都会添加一个新条目,因此例如如果 user_id ' 1' 每天登录 10 次,该表将有 10 个今天 user_id '1' 的条目。

现在我需要根据上次登录时间获取用户个人资料。

例如,如果有 3 个用户,MySql 查询应该为我提供 3 条记录及其最新登录时间。

我正在使用的查询是

SELECT * FROM login_users LEFT JOIN login_timestamps ON login_users.user_id = login_timestamps.user_id ORDER BY login_timestamps.timestamp DESC

但这给了我所有以前登录的条目,而不仅仅是最近的条目。

最佳答案

当然,当您没有指定时间或日期或其他内容时,您将获得所有登录的条目,但您需要一个 where 子句。

尝试一下:

  SELECT * FROM login_users 
LEFT JOIN login_timestamps ON login_users.user_id = login_timestamps.user_id
WHERE DATE(`timestamp`) = CURDATE()
ORDER BY login_timestamps.timestamp DESC

这将为您提供当天的条目。当然,您可以指定任何您想要的条件。

编辑:来自您的评论。

尝试一下

  SELECT l.user_id, max(timestamp)  as lasttime 
FROM login_users l
LEFT JOIN login_timestamps lt ON l.user_id = lt.user_id
GROUP BY l.user_id
ORDER BY lasttime DESC

关于mysql - 根据最近登录的日期时间连接两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22299983/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com