我正在处理MySql
并有两个表login_users
和login_timestamps
表login_users
保留user_id
,name
和address
的记录,而表login_timestamps
保留user_id
和{{1}的记录此表每次用户登录时都会添加一个新条目,例如,如果timestamp
'1'每天登录10次,则此表将包含10个user_id
'1'条目今天。
现在我需要根据上次登录时间获取用户个人资料。
例如,如果有3个用户,user_id
查询应该给我3条记录及其最新登录时间。
我正在使用的查询是
MySql
但是这给了我以前登录的所有条目而不是最近的条目。
答案 0 :(得分:2)
当然,如果您没有指定何时或何时或某事,您将获得所有已登录的条目,而您需要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