sql - 计算给定ID的char出现次数
问题描述
我必须执行一个查询,我可以计算每个 ID 的不同代码的数量。
|Id | Code
------------
| 1 | C
| 1 | I
| 2 | I
| 2 | C
| 2 | D
| 2 | D
| 3 | C
| 3 | I
| 3 | D
| 4 | I
| 4 | C
| 4 | C
输出应该是这样的:
|Id | Count | #Code C | #Code I | #Code D
-------------------------------------------
| 1 | 2 | 1 | 1 | 0
| 2 | 3 | 1 | 0 | 2
| 3 | 3 | 1 | 1 | 1
| 4 | 2 | 2 | 1 | 0
你能给我一些建议吗?
解决方案
这回答了问题的原始版本。
您正在寻找count(distinct)
:
select id, count(distinct code)
from t
group by id;
推荐阅读
- python - 如何从具有特定条件的二维列表中创建新列表?
- javascript - iframe 中的 Apple Pay 集成问题
- java - 在 PDF iText 中得到错误的阿拉伯语翻译
- spring-data - 如何在spring boot中使用Pageable接口从http url中删除/处理不相关或错误的排序参数?
- javascript - 发送消息四次
- mysql - 如何将 csv 文件导入 mysql /var/lib/mysql-files/
- python - 使用 Python Regex 在字符串中查找 url
- powershell - 在powershell中动态调用静态方法
- c++ - 函数调用导致无输出
- c - 用二维数组 c 找到最小数