嗨,我的表格结构是这样的

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个月之后增加年份

最佳答案

您可以为条件组合多个列:

select *
from my_table t
where (year, month) >= (2015,   4)
  and (year, month) <= (2015+1, 3)
order by year, month


这个(理论上)应该使用(年,月)索引。

关于mysql - sql查询排序年/月,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36376189/

10-10 19:06