我有一些数据
ID |Price | Date
01 | 100 | 2019-04-11
02 |200 | 2019-04-12
03 |300 | 2019-05-10
如何仅从4月的MONTH(4)获得价格总和?
答案 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()
之类的函数时,几乎总是会阻止在列上使用索引。直接比较还是可以的。