无法编写MySQL查询以正常工作

时间:2013-03-21 10:30:09

标签: mysql

我在此查询中有两个表。第一个表是“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。我无法弄清楚我做错了什么,任何帮助都会受到赞赏。

由于

1 个答案:

答案 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