我想查询行以查看基于上一季度的注册记录,例如:

当前月/年:2018年1月

该查询应按注册月份显示所有记录,这些月份是:2017年10月,2017年7月,2017年4月,依此类推。

我使用以下查询,但只能选择最近3个月的行。

SELECT name, date, amount, agreement, bank
FROM `account`
WHERE (YEAR(date) = YEAR(CURRENT_DATE - INTERVAL 3 MONTH) AND MONTH(date) = MONTH(CURRENT_DATE - INTERVAL 3 MONTH))

最佳答案

您可以这样算术:

select a.*
from account a
where mod(month(date), 3) = mod(month(current_date), 3);


您似乎了解如何处理年份部分,但是类似:

and date >= curdate() - interval 1 year

关于mysql - MySQL根据当前月份的前一个季度月份选择行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48161292/

10-17 01:20