我在使用时间戳处理我的项目时遇到了问题。我做了一个简单的数据库来说明问题:
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 组)。
谢谢!
最佳答案
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
关于mysql - 时间戳给出错误的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21113903/