mysql - 将两个 MYSQL WHERE 查询连接在一起

标签 mysql

我想将 2 个查询的结果连接在一起,这样我最终得到 3 列,第一列是 MONTH,第二列是 WITHDRAWALS,第三列是 DEPOSITS。

查询 1:

SELECT
    DATE_FORMAT(Time, "%m-%Y") AS MONTH,
    SUM(Profit_Loss) AS DEPOSITS
FROM
    `deposits_withdrawals_view`
WHERE
    Summary = 'Cash In'
GROUP BY
    DATE_FORMAT(Time, "%m-%Y")

查询 2:

SELECT
    DATE_FORMAT(Time, "%m-%Y") AS MONTH,
    SUM(Profit_Loss) AS WITHDRAWALS
FROM
    `deposits_withdrawals_view`
WHERE
    Summary = 'Cash Out'
GROUP BY
    DATE_FORMAT(Time, "%m-%Y")

两者都单独工作,但如何在 1 个查询中将它们连接在一起?

感谢您的帮助。

最佳答案

你可以为此做条件聚合

select
DATE_FORMAT(Time, "%m-%Y") AS MONTH,
sum(case when Summary='Cash In' then Profit_Loss else 0 end) as DEPOSITS,
sum(case when Summary='Cash Out' then Profit_Loss else 0 end) as WITHDRAWALS
FROM
    `deposits_withdrawals_view`
GROUP BY MONTH

关于mysql - 将两个 MYSQL WHERE 查询连接在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34198630/

相关文章:

mysql - 对具有相互关联的行的 SQL 表进行排序

MySQL SUBSTRING() 使用非 utf8 编码

php - MySQL 查询不工作 PHP

mysql workbench无法连接到数据库,但连接测试正常

MySQL。选择没有 1 天

MySQL索引+查询处理

mysql - 根据第一个表的条件连接两个表

java - Hibernate 4.x MYSQL Multi-Tenancy ID 生成问题

php - 在php中创建基于register的数据库驱动的用户主页

MySQL "subtable"在表中?