SELECT * FROM events WHERE `date`
BETWEEN NOW() AND DATE_ADD
(NOW(), INTERVAL 10 DAY) order by date
上記のコードを使用して、10日間のイベントデータを抽出しています。ここで、この10日間の間隔の前と10日間の間隔の後のすべてのデータを抽出します。どうすれば完璧な方法でそれを行うことができますか?
助けてください。お時間をいただきありがとうございます
おそらく2つのクエリを発行するのが最善です。
_SELECT * FROM events
WHERE `date` >= NOW() - INTERVAL 10 DAY
AND `date` < NOW();
SELECT * FROM events
WHERE `date` >= NOW()
AND `date` < NOW() + INTERVAL 10 DAY;
_
両方を同時に取得することもできますが、それらを分離する必要がある場合は不便です。
_SELECT * FROM events
WHERE `date` >= NOW() - INTERVAL 10 DAY
AND `date` < NOW() + INTERVAL 10 DAY;
_
現在の秒ではなく深夜を基準にしたい場合は、CURDATE()
ではなくNOW()
を使用します。