基于日期月份的条件SUM()

时间:2019-04-21 07:19:11

标签: mysql sql netbeans

我有一些数据

ID  |Price | Date 
01  | 100  | 2019-04-11
02  |200  | 2019-04-12
03  |300  | 2019-05-10

如何仅从4月的MONTH(4)获得价格总和?

2 个答案:

答案 0 :(得分:0)

这将起作用:

select sum(a.Price),month(a.Date)
from Table1 a
where month(a.Date)=4
group by month(a.Date);

检查:http://sqlfiddle.com/#!9/cfe06/4

您还可以按月(a.Date)制作基于功能的索引,以加快处理速度,如GordonLinoff所说!!!

答案 1 :(得分:0)

我强烈建议这样写逻辑,假设您指的是2019年4月,而不是一段时间内的所有4月:

select sum(t.price)
from t
where t.date >= '2019-04-01' and
      t.date < '2019-05-01';

在列上使用month()之类的函数时,几乎总是会阻止在列上使用索引。直接比较还是可以的。