答案 0 :(得分:2)
将日期转换为月份名称时,您正在比较字符串。以下是两种选择:
where month(file_date) between 2 and 6
where file_date >= '2015-02-01' and file_date < '2015-07-01'
第二个更好,因为它允许引擎使用file_date
上的索引(如果可用)。
此外,between
会保留结束值(包含)。所以,如果你想要从2月到6月,那么就要使用那些月,而不是1和7。
答案 1 :(得分:0)
我所理解的,你可以使用in
条款:
select count(*) as c, monthname(file_date) as mn
from baguio_patrolcase
where monthname(file_date) in('January', 'July')
group by monthname(file_date)
order by file_date
在in
子句中添加所有必需月份的名称。
您可以在此处看到SQLFiddle Demo。