添加上一年的结果
Add Result From Previous Year
我有来自“2019”的显示总和结果的查询结果,这是我的查询和结果:
SELECT
SUM(Number1 - Number2) AS TOTAL
FROM
`myTable`
WHERE
YEAR(Date) = '2019'
总计
136
然后我想将“2019”的总和结果与 2020 年 1 月的总和结果相加,我已经尝试过此查询,但结果与我预期的不同:
SELECT
SUM(Number1 - Number2) AS TOTAL
FROM
`myTable`
WHERE
YEAR(Date) <= '2020' AND MONTH(DATE) <='1'
查询结果
|总计|
|:----|
| 36 |
预期结果
|总计|
|:----|
| 139 |
我使用 mysql 5.6
我会在这里直接对日期列使用不等式:
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;
我有来自“2019”的显示总和结果的查询结果,这是我的查询和结果:
SELECT
SUM(Number1 - Number2) AS TOTAL
FROM
`myTable`
WHERE
YEAR(Date) = '2019'
总计 |
---|
136 |
然后我想将“2019”的总和结果与 2020 年 1 月的总和结果相加,我已经尝试过此查询,但结果与我预期的不同:
SELECT
SUM(Number1 - Number2) AS TOTAL
FROM
`myTable`
WHERE
YEAR(Date) <= '2020' AND MONTH(DATE) <='1'
查询结果 |总计| |:----| | 36 |
预期结果 |总计| |:----| | 139 |
我使用 mysql 5.6
我会在这里直接对日期列使用不等式:
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;