sql - 一组结果中的sql分组
问题描述
我有一个名为“付款”的表格,其中包含以下数据
+---------------------------------------+
| status | currency | amount |
+---------------------------------------+
| ------------------------------------- |
| paid | USD | 10 |
| pending | USD | 20 |
| processing | GBP | 30 |
| paid | GBP | 40 |
| paid | EUR | 50 |
| pending | USD | 60 |
| processing | EUR | 70 |
+----------------------------------------+
我需要编写一个查询,它会给我以下格式的结果
Paid : 3
Processing: 2
Pending: 2
我可以使用以下查询来做到这一点
select status, count(status)
from payments
group by status;
现在我还需要知道每个高级组按货币分组的金额总和。例如,
对于有 3 条记录的付费状态,我还需要
USD: 10
GBP: 40
EUR: 50
我怎样才能做到这一点 ?
解决方案
select status, currency, sum(amount)
from payments
group by status, currency;
推荐阅读
- firebase - 如何从 firebase REST API 持久化 firebase 身份验证
- c++ - Qt Creator +CMake+ gmock build issue“gmock.h no such file or diretory”在Qt creator中构建项目时,如果通过命令行构建则没有问题
- sparql - SPARQL 和 blazegraph 的最短路径
- typescript - 缩小回调参数类型
- python - IPython(jupyter)中的完成现在可以工作(意外的关键字参数'column')
- python - 如何使用python从csv文件中提取最小值或最大值出现的年份
- javascript - 如何告诉 Javascript getElementByClassName 获取 ul 的所有元素,而不是在每个 li 中重复类名?
- python - 使用python的re从字符串中删除URL
- ssl - traefik ssl 证书背后的代理
- c++ - 在 C++ 中以多态类型存储的 RTTI 信息、vtables 等的正式名称是什么?