我有以下查询:
SELECT SUM(`dollars`) FROM daily_stats WHERE `day` BETWEEN '2018-07-03' AND '2018-07-08'
SELECT SUM(`dollars`) FROM daily_stats WHERE `day` BETWEEN '2018-07-09' AND '2018-07-14'
我想在一个查询中返回两组结果,最好以具有描述性名称的列的形式返回。 这是我的尝试,但是没有按预期运行,出现语法错误(错误代码1064):
SELECT
(SELECT SUM(`dollars`) FROM daily_stats WHERE `day` BETWEEN '2018-07-03' AND '2018-07-08') AS last_result,
(SELECT SUM(`dollars`) FROM daily_stats WHERE `day` BETWEEN '2018-07-09' AND '2018-07-14') AS current_result,
FROM daily_stats
我该怎么做?
答案 0 :(得分:2)
使用条件和:
SELECT SUM(case when day BETWEEN '2018-07-03' AND '2018-07-08' then dollars else 0 end) w1,
SUM(case when day BETWEEN '2018-07-09' AND '2018-07-14' then dollars else 0 end) w2
FROM daily_stats
仅当dollars
为真时,这才对case
列求和。