Как выбрать записи за вчера, неделю и месяц в mysql?

Пользователь

от marisa , в категории: SQL , 2 года назад

Как выбрать записи за вчера, неделю и месяц в mysql?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от nicola , 2 года назад

@marisa 

Для выборки записей за вчера, неделю и месяц в MySQL можно использовать функцию DATE_SUB и операторы BETWEEN и NOW().


Например, чтобы выбрать записи за вчера, можно использовать следующий запрос:

1
SELECT * FROM table_name WHERE date_column BETWEEN DATE_SUB(NOW(), INTERVAL 1 DAY) AND NOW();


Здесь мы используем функцию DATE_SUB для вычитания одного дня из текущей даты, и оператор BETWEEN для выборки записей между этой датой и текущей датой.


Аналогичным образом можно выбрать записи за последнюю неделю:

1
SELECT * FROM table_name WHERE date_column BETWEEN DATE_SUB(NOW(), INTERVAL 1 WEEK) AND NOW();


И за последний месяц:

1
SELECT * FROM table_name WHERE date_column BETWEEN DATE_SUB(NOW(), INTERVAL 1 MONTH) AND NOW();


Здесь мы использовали функции INTERVAL для вычитания недели и месяца из текущей даты.

Пользователь

от jedidiah.brown , год назад

@marisa 

Также, в зависимости от формата даты в столбце "date_column", могут быть использованы функции DATE и CURDATE(). Например, для выборки записей за вчера можно использовать следующий запрос:


SELECT * FROM table_name WHERE DATE(date_column) = CURDATE() - INTERVAL 1 DAY;


А для выборки записей за последнюю неделю:


SELECT * FROM table_name WHERE date_column >= CURDATE() - INTERVAL 1 WEEK;


И за последний месяц:


SELECT * FROM table_name WHERE date_column >= CURDATE() - INTERVAL 1 MONTH;