我在mysql中有2个表 - User(user_id,first_name ....)和login_history(user_id,login_time)
每次用户进入时,系统都会在login_history中记录时间。
我想运行一个查询来获取users表中的所有字段以及login_history中的最新登录时间。有人可以帮忙吗?
答案 0 :(得分:1)
SELECT t1.col1
,t1.col2
,[...repeat for all columns in User table]
,max(t2.login_time)
FROM user t1
INNER JOIN login_history t2 ON t1.user_id = t2.user_id
GROUP BY t1.col1
,t1.col2
,[..repeat for all columns in User table]
这应该有效,假设login_time
以理智的数据类型和/或格式存储。
答案 1 :(得分:0)
您必须使用加入:
SELECT *, login_history.login_time
FROM User
INNER JOIN login_history
ON User.user_id=login_history.user_id;
此查询将为您提供User的所有列和login_time。
答案 2 :(得分:0)
以下是2个查询,可帮助您选择包含用户详细信息的最新登录时间
SELECT * FROM User C,login_history O where C.user_id=O.user_id order by O.login_time desc limit 1
或
SELECT * FROM User C,login_history O where C.user_id=O.user_id and ROWNUM <=1 order by O.login_time desc