#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;