sql - 如何通过聚合 SQL 中的不同键进行分组
问题描述
我有如下表。
我想groupby
通过生成新的键,比如D
,D
手段A
或B
在这种情况下,count
inD
是2
因为A
和B
各有 1 条记录。
有没有办法通过使用它来生成新的密钥和 groupby?
product sex age
A M 10
B M 20
C F 30
我想要的结果如下所示。
product count
C 1
D (A orB) 2
如果你有同样的经历,请告诉我。
谢谢
解决方案
product
您必须按与您的条件匹配的派生列而不是该列:
select
case when product in ('A', 'B') then 'D' else product end product,
count(*)
from tablename
group by case when product in ('A', 'B') then 'D' else product end
请参阅演示。
结果:
| newproduct | count(*) |
| ---------- | -------- |
| C | 1 |
| D | 2 |
推荐阅读
- angular - 构建 Angular 7 应用程序,仅包括一些子应用程序
- javascript - 如何根据asp.net中弹出窗口的确认来决定下拉值选择
- excel - VBA 代码问题:我可以让 GoTo 成为变量吗?
- html - 如何动态发送 chrome 扩展 ID 以在网页中与 send_message 一起使用
- keras - 用于生物医学图像分割的预训练模型
- python - 如何有效地计算环形空间中的距离?
- python - 无法读取 Django FileField?
- sql - sql查询从两列匹配的表中获取多行
- matlab - MATLAB中具有初始条件的差分方程
- java - apache nutch 中的依赖问题