Запрос По Прошлому Месяцу, Прошлой Неделе, Вчера И Так Далее
У меня есть orders
таблица, которая содержит orderID
& order_date
.
Я пытаюсь запросить данные по прошлой неделе, в прошлом месяце или даже по вчерашнему дню, однако я не могу понять, как вычесть время из текущего времени
Мое поле order_date
имеет тип TIMESTAMP
, любая идея, любая помощь будут оценены
2
3 answers
Вы можете использовать DATE_SUB:
... WHERE order_date > DATE_SUB( NOW(), INTERVAL 1 MONTH )
За взятие в прошлом месяце,
... WHERE order_date > DATE_SUB( NOW(), INTERVAL 1 WEEK )
За то, что получил на прошлой неделе,
... WHERE order_date > DATE_SUB( NOW(), INTERVAL 1 DAY )
За сегодняшний день и
... WHERE order_date BETWEEN ( DATE_SUB( NOW(), INTERVAL 2 DAY ), DATE_SUB( NOW(), INTERVAL 1 DAY ) )
За получение предыдущего дня.
Это то, о чем вы просили?
3
Author: Tadeck, 2011-05-03 09:30:37
Использовать функцию mysql date_sub
3
Author: Roshan Wijesena, 2011-05-03 09:23:27
Ключ к разгадке здесь - DATEDIFF и НАЛИЧИЕ.
В течение последних 30 дней попробуйте что-то вроде этого (по памяти):
SELECT orderID, DATEDIFF(order_date, NOW()) AS days FROM table HAVING days <= 30
1
Author: Muleskinner, 2011-05-03 09:25:49