选择过去3个月的最长和最短日期

Biz*_*oss 2 mysql

在我的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个月的最长和最短日期).

非常感谢.

Mar*_*ker 7

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)