mysql:在一个查询中返回两组基于不同日期的结果

czq61nw1  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(313)

我有以下疑问:

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

我怎样才能做到这一点?

fv2wmkja

fv2wmkja1#

使用条件和:

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 这是真的。

相关问题