时间戳给出错误的结果

时间:2014-01-14 12:45:38

标签: mysql timestamp

我在使用时间戳处理项目时遇到问题。我已经建立了一个简单的数据库来说明问题:

id  timestamp           status
1   2014-01-14 14:14:29 old
2   2014-01-14 14:04:35 new
1   2014-01-14 14:15:19 new

我运行了以下查询:

SELECT MAX( TIMESTAMP ) AS TIMESTAMP, id, 
STATUS FROM  `proba` 
GROUP BY id

结果是:

TIMESTAMP           id  STATUS

2014-01-14 14:15:19 1   old

2014-01-14 14:04:35 2   new

我得到了正确的时间戳,但错误的数据行(如果我添加多行,我将始终获得第一行)。

我使用phpMyAdmin - 2.11.4,如果它确实重要:)

我该怎么办?我需要最新的一行(在确切的问题上,我也需要一个id by group)。

谢谢!

1 个答案:

答案 0 :(得分:1)

SELECT stamp, p1.id,  p1.STATUS FROM `proba` p1 
INNER JOIN (
   SELECT MAX(timestamp) AS stamp FROM `proba` GROUP BY id 
) p2 ON p1.timestamp = p2.stamp