如何通过在SQL中聚合不同的键进行分组

问题描述 投票:0回答:2

我有下面的表格。

我想通过生成新的键,例如groupbyD表示DA]来[C0

在这种情况下,B中的countD,因为2A分别有1条记录。

是否有任何使用此方法生成新密钥和分组依据的方法?

B

我想要的结果如下。

product sex  age 
A        M   10
B        M   20
C        F   30

如果您有相同的经验,请告诉我。

谢谢

sql
2个回答
1
投票

而不是列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 。结果:

demo

0
投票

这里是您要寻找的:

| newproduct | count(*) |
| ---------- | -------- |
| C          | 1        |
| D          | 2        |
© www.soinside.com 2019 - 2024. All rights reserved.