在用户登录报告中需要用户的最新登录记录

时间:2016-03-02 12:06:45

标签: php mysql

尝试生成用户登录报告。

login_history 表数据:

id user_id login_date_time
1  2        2016-02-28 06:42:57
2  2        2016-02-29 06:42:57
3  2        2016-02-29 07:42:57
4  3        2016-02-28 06:42:57
5  3        2016-02-29 06:42:57
6  3        2016-02-29 08:42:50
7  4        2016-01-20 06:42:57
8  4        2016-02-29 06:42:57
9  4        2016-02-29 09:40:50
10 5        2016-02-28 05:42:56

登录表:

id username mobile
1  user1    1234567190
2  user2    1234567892
3  user3    2234567890
4  user4    1234567899
5  user5    1214567896
6  user6    1238567891

预期输出:

user2 2016-02-29 07:42:57
user3 2016-02-29 08:42:50
user4 2016-02-29 09:40:50
user5 2016-02-28 05:42:56

需要有关 MYSQL查询的帮助。

2 个答案:

答案 0 :(得分:2)

带分组的简单INNER JOIN可以为您提供所需的结果集:

SELECT l.username, MAX(lh.login_date_time)
FROM Login AS l
INNER JOIN login_history AS lh
   ON l.id = lh.user_id
GROUP BY l.username

答案 1 :(得分:2)

所以你需要一个join和group by子句:

name