Запрос MySQL на максимальное значение всех записей за последние 5 дней

#mysql

#mysql

Вопрос:

У меня есть таблица MySQL:

myTable {Идентификатор Int, значение Int, Дата date}

Я хочу найти максимальное значение всех записей за последние 5 дней.

Пока мне удалось либо получить максимум всех записей за этот день:

 SELECT max(`value`) FROM myTable where `date` = CURDATE()
  

или всех записей за последние 5 дней:

 SELECT * FROM myTable WHERE `date` BETWEEN CURDATE() - INTERVAL 5 DAY AND CURDATE()
  

Как мне получить максимальное значение всех записей за последние 5 дней?

Ответ №1:

Как насчет:

 SELECT MAX(`value`) FROM myTable 
WHERE `date` BETWEEN DATE_SUB(NOW(), INTERVAL 5 DAY) AND NOW()
  

Ответ №2:

Вы могли бы создать временную таблицу

 create temporary table temp_table SELECT * FROM myTable WHERE `date` BETWEEN CURDATE() - INTERVAL 5 DAY AND CURDATE()
  

Затем

 select max('value') from temp_table;