我有来自“2019”的显示总和结果的查询结果,这是我的查询和结果:
1.70473711
1.70473711
总计 |
---|
136 |
然后我想将“2019”的总和结果与 2020 年 1 月的总和结果相加,我已经尝试过此查询,但结果与我预期的不同:
SELECT
SUM(Number1 - Number2) AS TOTAL
FROM
`myTable`
WHERE
YEAR(Date) = '2019'
查询结果 |总计| |:----| | 36 |
预期结果 |总计| |:----| | 139 |
我使用的是 mysql 5.6
答案 0 :(得分:2)
我会在这里直接在日期列中使用不等式:
SELECT SUM(Number1 - Number2) AS TOTAL
FROM myTable
WHERE Date >= '2019-01-01' AND Date < '2020-02-01';
这种方法很干净,而且还保留了 WHERE
子句 sargable,这意味着可以使用 Date
上的索引。如果您真的想坚持使用 YEAR
和 MONTH
,请使用:
SELECT SUM(Number1 - Number2) AS TOTAL
FROM myTable
WHERE YEAR(Date) = 2019 OR YEAR(Date) = 2020 AND MONTH(Date) = 1;