我有两个来自同一个表的查询
SELECT userId,SUM(amount) AS totalDeposite FROM trx GROUP BY userId
Run Code Online (Sandbox Code Playgroud)
输出:
userId totalDeposite
1 470
2 30
Run Code Online (Sandbox Code Playgroud)
询问
SELECT userId,SUM(amount) AS totalFine FROM trx WHERE TYPE='fine' GROUP BY userId
Run Code Online (Sandbox Code Playgroud)
输出:
userId totalFine
1 20
2 30
Run Code Online (Sandbox Code Playgroud)
我怎样才能得到像这样的结果
userId totalDeposite totalFine
1 470 20
2 30 30
Run Code Online (Sandbox Code Playgroud)
尝试使用case如下
SELECT userId,
SUM(case when TYPE='fine' then amount else 0 end) as totalFine,
SUM(amount) AS totalDeposite
FROM trx
GROUP BY userId
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1772 次 |
| 最近记录: |