选择时间戳来自过去一小时的最新条目

时间:2015-06-22 15:21:38

标签: mysql

我尝试了多种方式,所有这些方法导致返回的行不正确,到目前为止我已经尝试了

SELECT * FROM table WHERE id=1 AND timestamp >= NOW() - INTERVAL 1 HOUR ORDER BY timestamp DESC LIMIT 1

.... AND timestamp > DATE_SUB(NOW(), INTERVAL 1 HOUR) ORDER BY timestamp DESC LIMIT 1

两者都返回了一个结果 - 正如预期的那样,但不是该ID的最新结果。

我怎么能让这个工作?

示例:

index|id|timestamp
----------------------------
1 |1 |2015-06-22 15:08:44
2 |1 |2015-06-21 12:09:16
3 |2 |2015-06-22 15:12:32
4 |1 |2015-06-22 12:33:49
5 |3 |2015-06-20 00:00:00

如果要求ID 1,2015-06-22 15:12:32请求ID 2,并且如果要求ID 3则不返回任何行,将返回时间2015-06-22 15:08:44
假设当前日期时间为2015-06-22 15:mm:ss

1 个答案:

答案 0 :(得分:1)

select * from table 
where TIMESTAMPDIFF(HOUR, `timestamp`, NOW())=0
ORDER BY `timestamp` DESC
LIMIT 1