例如,给定 1339372800,即星期一,2012 年 6 月 11 日 00:00:00 GMT,我想得到接下来的 X 小时,包括 1339372800。所以接下来的 3 小时,结果将是
+------------+ | 小时 | +------------+ | 1339372800 | | 1339376400 | | 1339380000 | +------------+
我想我需要创建一个循环,但我不知道如何从那开始。谢谢。
您可以使用数字表在 mysql 中创建一个“数字表”,其中包含相当长的时间,并查询:
SELECT hour
FROM hours
WHERE hour >= 1339372800
ORDER BY hour ASC
LIMIT 3
这使得查询变得非常容易,并且表也不应该太大。(10 年内少于 90k 行。)
尝试:
SELECT *
FROM table
WHERE
hours between 1339372800 and DATE_SUB(1339372800, INTERVAL 3 HOUR)