0

例如,给定 1339372800,即星期一,2012 年 6 月 11 日 00:00:00 GMT,我想得到接下来的 X 小时,包括 1339372800。所以接下来的 3 小时,结果将是

+------------+
| 小时 |
+------------+
| 1339372800 |
| 1339376400 |
| 1339380000 |
+------------+

我想我需要创建一个循环,但我不知道如何从那开始。谢谢。

4

2 回答 2

0

您可以使用数字表在 mysql 中创建一个“数字表”,其中包含相当长的时间,并查询:

SELECT hour
FROM hours
WHERE hour >= 1339372800
ORDER BY hour ASC
LIMIT 3

这使得查询变得非常容易,并且表也不应该太大。(10 年内少于 90k 行。)

于 2012-06-11T09:58:40.517 回答
0

尝试:

SELECT * 
FROM table
WHERE 
hours between 1339372800 and DATE_SUB(1339372800, INTERVAL 3 HOUR)
于 2012-06-11T09:59:25.133 回答