Как мне выполнить запрос, который выводит записи за прошлый месяц

#php #mysql #sql

#php #mysql #sql

Вопрос:

Мне нужно написать запрос в MySQL, который выводит все поля, которые были добавлены за последний месяц.

 |First Name |Last Name |Date Added
|John       |Smith     |21-09-2016
|Richard    |Apple     |14-10-2016
|Kent       |Clark     |12-09-2016
  

Запрос должен вывести Джона и Ричарда сегодня (18-го), но через неделю (25-го) он автоматически настроится так, чтобы получать только Ричарда, поскольку он был добавлен более месяца назад

Заранее спасибо

Ответ №1:

Проверка month и year является обязательной.

 SELECT fname,lname 
FROM your_table
WHERE DATEPART(m, date_added) = DATEPART(m, DATEADD(m, -1, getdate()))
AND DATEPART(yyyy, date_added) = DATEPART(yyyy, DATEADD(m, -1, getdate()))
  

Комментарии:

1. возвращает ошибку #1305 — ИМЯ_ФУНКЦИИ database_name. DATEPART не существует

2. Итак, теперь все в порядке? @Shadow

3. @Shadow Примите ответ, чтобы этот вопрос был отмечен как решенный и помог другим тоже. 🙂

Ответ №2:

Пошел искать и обнаружил, что это способ сделать это

 SELECT `Name`, `Date added` 
FROM table WHERE `Date added` > DATE_ADD(CURRENT_DATE(),INTERVAL -1 MONTH)