我在此查询中有两个表。第一个表是“users”,第二个表是“logs”。我正在尝试显示“users”中的“username”列和日志中的“time_stamp”列,但我只希望结果显示每个“username”的最新“time_stamp”
这是我的问题:
SELECT users.username, logs.time_stamp
FROM users, logs
WHERE users.u_id=logs.user_id
AND logs.user_action='user login'
GROUP BY (username)
ORDER BY logs.time_stamp DESC
这就是我得到的:
Alex 2013-02-20 10:51:52
Bill 2013-02-13 12:32:33
Mike 2013-02-13 10:53:47
Rick 2013-02-08 12:34:50
Admin 2013-02-08 01:55:31
乍一看看起来不错,但它没有显示每个用户的最新time_stamp。我无法弄清楚我做错了什么,任何帮助都会受到赞赏。
由于
答案 0 :(得分:0)
你应该使用MAX聚合函数:
SELECT
users.username,
MAX(logs.time_stamp)
FROM
users INNER JOIN logs ON users.u_id=logs.user_id
WHERE
logs.user_action='user login'
GROUP BY username