Mysql where条款,在不同年份有两个月

Mysql where条款,在不同年份有两个月,mysql,sql,database,datetime,where-clause,Mysql,Sql,Database,Datetime,Where Clause,我希望从一年中指定的季节中选择按年份分组的值。季节如下: 12月(前一年)、1月、2月:冬季, 三月、四月、五月:春天, 六月、七月、八月:夏季, 九月、十月、十一月:秋天 如果我想按年份对单个季节进行分组,我对春季、夏季和秋季的查询如下所示: select avg(value) from table where month(date) between 3 and 5 group by year(date); 但我不知道如何在冬季取得这样的成绩,比如2017年12月,2018年1月和2月。 按

我希望从一年中指定的季节中选择按年份分组的值。季节如下: 12月(前一年)、1月、2月:冬季, 三月、四月、五月:春天, 六月、七月、八月:夏季, 九月、十月、十一月:秋天

如果我想按年份对单个季节进行分组,我对春季、夏季和秋季的查询如下所示:

select avg(value) from table where month(date) between 3 and 5 group by year(date);
但我不知道如何在冬季取得这样的成绩,比如2017年12月,2018年1月和2月。 按年份分组非常重要。 谢谢你的帮助

在中使用

select year(date), avg(value)
from table
where month(date) in (12, 1, 2) 
group by year(date);
如果希望月份是“连续的”,因此12月、1月和2月在同一年中,则通过
组添加一个月:

select year(date + interval 1 month), avg(value)
from table
where month(date) in (12, 1, 2) 
group by year(date + interval 1 month);

示例数据和期望的结果会有所帮助。第二个查询正是我想要的,谢谢戈登:)