如何选择计算给定日期的范围值?

时间:2015-07-23 13:33:28

标签: mysql sql database

我有下表。我想计算并选择一个月范围内的值。

table

这是我的查询

this

my output

我想要实现的是它还将计算和选择二月份的六月份的值。我该怎么做?

2 个答案:

答案 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