我有一个MySQL表:
myTable {Int id,Int value,Date date}
我希望找到过去5天内所有记录的最大值。
到目前为止,我只能获得当天所有记录的最大值:
SELECT max(`value`) FROM myTable where `date` = CURDATE()
或过去5天内的所有记录:
SELECT * FROM myTable WHERE `date` BETWEEN CURDATE() - INTERVAL 5 DAY AND CURDATE()
如何获取过去5天内所有记录的最大值?
答案 0 :(得分:5)
怎么样:
SELECT MAX(`value`) FROM myTable
WHERE `date` BETWEEN DATE_SUB(NOW(), INTERVAL 5 DAY) AND NOW()
答案 1 :(得分:0)
您可以创建临时表
create temporary table temp_table SELECT * FROM myTable WHERE `date` BETWEEN CURDATE() - INTERVAL 5 DAY AND CURDATE()
然后
select max('value') from temp_table;