/* First query */
SELECT YEAR, SUM( amount ) AS total
FROM accounts
WHERE ((MONTH >= '10' ||
MONTH <= '12' && YEAR = '2015') &&
(MONTH >= '1' ||
MONTH <= '3' && YEAR = '2016' ))
GROUP BY YEAR
/* Second query */
SELECT YEAR, SUM( amount ) AS total
FROM accounts
WHERE ((MONTH >= '1' ||
MONTH <= '3' && YEAR = '2015') &&
(MONTH >= '5' ||
MONTH <= '10' && YEAR = '2015'))
GROUP BY YEAR
第一个查询根据年份返回两行。但是第二个查询只返回一行。
我知道我是按年份分组的,但我想要两行满足我的两个where条件匹配。
还有其他建议吗?
输出:
output1output2
这样检查:-
SELECT YEAR, SUM( amount ) AS total
FROM accounts
WHERE (((MONTH >= '1' || MONTH <= '3') && YEAR = '2015') ||
((MONTH >= '5' || MONTH <= '10') && YEAR = '2015'))
GROUP BY YEAR
或
SELECT YEAR, SUM( amount ) AS total
FROM accounts
WHERE (MONTH >= '1' || MONTH <= '3') && YEAR = '2015'
GROUP BY YEAR
Union all
SELECT YEAR, SUM( amount ) AS total
FROM accounts
WHERE (MONTH >= '5' || MONTH <= '10') && YEAR = '2015'
GROUP BY YEAR