MySQL SELECT последние несколько дней?

Я играл с MYSQL, и я знаю, что есть команда limit, которая показывает определенное количество результатов, но мне было интересно, сможет ли только MySQL только последние 3 дня или что-то в этом роде. Просто интересно.

Update: Я использовал NOW() для хранения времени.

Ответ 1

Использовать дату три дня назад:

WHERE t.date >= DATE_ADD(CURDATE(), INTERVAL -3 DAY);

Проверьте документацию DATE_ADD.

Или вы можете использовать:

WHERE t.date >= ( CURDATE() - INTERVAL 3 DAY )

Ответ 2

Вы можете использовать это в своем предложении MySQL WHERE, чтобы возвращать записи, созданные за последние 7 дней/неделю:

created >= DATE_SUB(CURDATE(),INTERVAL 7 day)

Также используйте NOW() в вычитании, чтобы получить разрешение hh: mm: ss. Таким образом, чтобы вернуть записи, созданные точно (ко второй) за последние 24 часа, вы можете сделать:

created >= DATE_SUB(NOW(),INTERVAL 1 day)

Ответ 3

Для этого вы можете использовать комбинацию функции UNIX_TIMESTAMP().

SELECT ... FROM ... WHERE UNIX_TIMESTAMP() - UNIX_TIMESTAMP(thefield) < 259200

Ответ 4

WHERE t.date >= DATE_ADD(CURDATE(), INTERVAL '-3' DAY);

использовать кавычки для значения -3

Ответ 5

SELECT DATEDIFF(NOW(),pickup_date) AS noofday 
FROM cir_order 
WHERE DATEDIFF(NOW(),pickup_date)>2;

или

SELECT * 
FROM cir_order 
WHERE cir_order.`cir_date` >= DATE_ADD( CURDATE(), INTERVAL -10 DAY )