mysql - 需要使用两个不同的where子句返回两组数据

标签 mysql sql

我有一个记录交易的表。

表格设置为:

transactions:

id, account_id, budget_id, points, type

我需要返回每个budget_id的type = 'allocation'的积分总和以及type = 'issue'的积分总和

我知道如何在一个查询中执行每一项操作,但不知道如何执行这两项操作。

预期结果集:

budget_id   allocated   issued
   434       200000      100
   242       100000      5020
   621       45000       3940

最佳答案

SELECT budget_id, 
       SUM(IF(type = 'allocation', points, 0)) AS allocated,
       SUM(IF(type = 'issue', points, 0)) AS issued
FROM transactions
GROUP BY budget_id

关于mysql - 需要使用两个不同的where子句返回两组数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48587927/

相关文章:

mysql - 两列上的 SQL 内部联接

php - Laravel 多对多关系问题

mysql - 带条件的 SUM 行的 SQL 语句

MySQL - 无法使用 count(*) 进行左外连接以返回 count = 0 的项目

mysql - 加载逗号后空格不一致的 CSV 文件

SQL Server Profiler 弃用 - 替换?

php - 如何为 php mysql 驱动的数据库生成下一个 ID 号

php - 如何在 codeigniter 中连接数据库多个服务器?

mysql - 在 mysql 中查找四月中缺失的日期

php - 如何根据用户使用 SQL 获得的积分数量找到用户的排行榜位置?