mysql - 如何比较mysql上的两个查询

标签 mysql sql

抱歉英语不好。

嗯,我有问题如何比较两个查询。 示例。

表格交易

|id| name | total| date      |

|01|rini  | 2    |2019/12/1  |

|02|rana  | 3    |2019/12/31 |

|03|tono  | 2    |2020/01/5  |

|04|tini  |10    |2020/28/5  |

如果我想知道 2019 年 12 月和 2020 年 1 月的交易,我可以写

select sum(total) from transactions where date between '2019-12-01' and '2019-12-31'

select sum(total) from transactions where date between '2020-01-01' and '2020-01-31'

但是我如何比较这两个查询并得到这样的结果

|desember_transaction|januari_transaction|

|          5         |         12        |

再次抱歉我的英语不好。 希望大家明白我的意思。 :)

最佳答案

使用条件聚合

select 
sum(case when date between '2019-12-01' and '2019-12-31' then total else 0 end) desember_transaction,
sum(case when date between '2020-01-01' and '2020-01-31' then total else 0 end) januari_transaction
from transactions 

关于mysql - 如何比较mysql上的两个查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59818225/

相关文章:

PHP MYSQL PDO -> Fatal Error 23000 eventhough a special procedure is place

mysql - 选择具有许多子行的行

mysql - 通过 node.js 向 mysql 中插入多行

php - 通过 MySQL/PHP 在 CRUD 网格中实现年龄属性

mysql - SELECT ... FOR UPDATE 是否应该始终包含 ORDER BY?

SQL/Postgres - 根据组中的行位置将每 N 行折叠为 1

sql - 匹配两个 Select 语句进行比较

php - OrthoMCL 上的 mysql 错误

mysql - 如何确定表 1 中的主键是否出现在表 2 中

MySQL:使用 LIMIT 的多个 SELECT 语句