Mysql根据当前月份的前一个季度月份选择行

标签 mysql sql

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

当前月份/年份: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根据当前月份的前一个季度月份选择行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48161292/

相关文章:

mysql - 将多个 SQL 语句组合成一个

MySQL Join,包括返回分隔值的所有值

java - 使用 Java 使用数据库每天重置自动编号

SQL SERVER 2005 中的 SQL 查询 - 比较日期

sql - Derby DB修改列上的 'GENERATED'表达式

php - 无法缩短 php 和 mysql 中的文本

mysql - 如何将 Outlook .pst 文件中的电子邮件转储到 MySQL 数据库中?

mysql - 在这种情况下如何解决 MySQL 错误 "#1242 - Subquery returns more than 1 row"?

SQL获取XML的叶节点

MySQL:从select distinct中选择所有行