0

たとえば、2012 年 6 月 11 日月曜日 00:00:00 GMT である 1339372800 を指定すると、1339372800 を含む次の X 時間を取得したいと思います。したがって、次の 3 時間の結果は次のようになります。

+------------+
| | 時間 |
+------------+
| | 1339372800 |
| | 1339376400 |
| | 1339380000 |
+------------+

ループを作成する必要があると思いますが、そこから先に進む方法がわかりません。ありがとう。

4

2 に答える 2

0

試す:

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

十分な時間のすべての時間を含む「数値テーブル」をmysqlで作成するように数値テーブルを使用し、次のクエリを実行できます。

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

これにより、クエリが非常に簡単になり、テーブルも大きくなりすぎないようにする必要があります。(10 年間で 90,000 行未満。)

于 2012-06-11T09:58:40.517 に答える