我希望按年份指定的年份指定季节中选择值。季节如下: 12月(前一年),1月,2月:冬季, 三月,四月,五月:春天, 六月,七月,八月:夏天, 九月,十月,十一月:秋天
如果我想按年份分组,我对春,夏,秋的查询如下:
select avg(value) from table where month(date) between 3 and 5 group by year(date);
但是我不知道如何在冬天取得这样的结果,例如,12月是2017年,1月和2月是2018年。 按年分组非常重要。 谢谢你的帮助!
答案 0 :(得分:1)
使用in
:
select year(date), avg(value)
from table
where month(date) in (12, 1, 2)
group by year(date);
如果您希望这些月份是连续的"所以12月,1月和2月都在同一年,然后在group by
添加一个月:
select year(date + interval 1 month), avg(value)
from table
where month(date) in (12, 1, 2)
group by year(date + interval 1 month);