在我的mysql表中,我有一个日期格式的列:yyyy-mm-dd
我提出此请求以选择过去2个月的最长和最短日期.
SELECT MIN(date) AS date1, MAX(date) AS date2 FROM mytable
WHERE (MONTH(date) = (SELECT Month(MAX(date))-1 FROM mytable )
OR MONTH(date) = (SELECT Month(MAX(date))-2 FROM mytable ))
AND YEAR(date) = (SELECT YEAR(MAX(date))
FROM mytable)
Run Code Online (Sandbox Code Playgroud)
但是当我想要选择过去3个月的日期时,我发现我无法制作月份Jaunuar-1以及请求:
OR MONTH(date) = (SELECT Month(MAX(date))-3 FROM mytable )
Run Code Online (Sandbox Code Playgroud)
不行!
我的问题是:我如何选择最近3个月(或最近3个月或4个月或5个月的最长和最短日期).
非常感谢.
SELECT MIN(`date`) AS date1,
MAX(`date`) AS date2
FROM mytable
WHERE `date` BETWEEN now() - interval 3 month
AND now();
Run Code Online (Sandbox Code Playgroud)