MySQL выберите последние несколько дней?


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

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

5 58

5 ответов:

используйте для даты три дня назад:

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

Регистрация DATE_ADD документация.

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

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

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

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

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

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

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

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

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

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

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 )