添加上一年的结果

时间:2021-07-20 10:12:19

标签: mysql datetime sum

我有来自“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

1 个答案:

答案 0 :(得分:2)

我会在这里直接在日期列中使用不等式:

SELECT SUM(Number1 - Number2) AS TOTAL 
FROM myTable 
WHERE Date >= '2019-01-01' AND Date < '2020-02-01';

这种方法很干净,而且还保留了 WHERE 子句 sargable,这意味着可以使用 Date 上的索引。如果您真的想坚持使用 YEARMONTH,请使用:

SELECT SUM(Number1 - Number2) AS TOTAL 
FROM myTable 
WHERE YEAR(Date) = 2019 OR YEAR(Date) = 2020 AND MONTH(Date) = 1;