我的表结构就像这样
year month name
2015 1 adc
2015 2 adc
2015 4 adc
2015 5 adc
2015 6 adc
2015 7 adc
2015 8 adc
2015 9 adc
2015 10 adc
2015 11 adc
2015 12 adc
2016 1 adc
2016 2 adc
2016 3 adc
我想总是从一年的第4个月开始对我的查询结果进行排序,并以明年的第3个月结束。例如,如果我想要2015年的数据,它应该像
2015 4 adc
2015 5 adc
2015 6 adc
2015 7 adc
2015 8 adc
2015 9 adc
2015 10 adc
2015 11 adc
2015 12 adc
2016 1 adc
2016 2 adc
2016 3 adc
我可以用SQL查询吗?在这里我需要在12月之后增加年份
答案 0 :(得分:1)
您可以为条件组合多个列:
select *
from my_table t
where (year, month) >= (2015, 4)
and (year, month) <= (2015+1, 3)
order by year, month
这个(理论上)应该使用(年,月)指数。
答案 1 :(得分:0)
解决了,谢谢
select *
from my_table t
where (year=$year and month>=4)
or(year=$year+1 and month<=3)
order by year, month