MySQL GROUP BY - 错误的日期

时间:2015-12-17 18:49:42

标签: php mysql group-by

我有一个表名为AHTLETE_TABLE,包含用户名,athlete_time和athlete_date 我想回复每个运动员的最快时间(MIN(Athle_time)。我正在使用这个查询:

$sql = " SELECT *, MIN(athlete_time) AS minimum 
FROM (".ATHLETE_TABLE.")
WHERE athlete_time <> '00:00:00'
GROUP BY athlete_username
ORDER BY minimum ASC";

我得到错误日期的最快时间。我不知道自己要做什么。 感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

问题是你的小组是带来一个随机日期。

您需要计算派生查询中的最小值,然后联接回来获取整行。

SELECT AT.*
FROM ATHLETE_TABLE AT
JOIN (SELECT username, MIN(athlete_time) AS minimum 
      FROM ATHLETE_TABLE         
      GROUP BY username
     ) T
  ON AT.username = T.username
 AND AT.athlete_time = T.minimum 

注意:如果同一用户与MIN(athlete_time)有关系,请注意您要执行的操作,在这种情况下会同时显示两个时间。