我有一个如下所示的表:
类别 | 特征_a | 特征_b |
---|---|---|
前20名 | 3 | 5 |
前10名 | 2 | 6 |
前10名 | 1 | 7 |
前20名 | 4 | 8 |
我要做的是创建一个如下所示的数据透视表:
特征 | 前20名 | 前10名 |
---|---|---|
特征_a | 7 | 3 |
特征_b | 13 | 13 |
第二个表中的每个值都是每个类别的每个特征的总和。我在这里阅读数据透视表上的文档,但它对我需要得到的东西没有帮助。知道如何实现吗?(注意:我不必使用“pivot”功能,如果它可以通过任何其他功能来实现)
我有一个如下所示的表:
类别 | 特征_a | 特征_b |
---|---|---|
前20名 | 3 | 5 |
前10名 | 2 | 6 |
前10名 | 1 | 7 |
前20名 | 4 | 8 |
我要做的是创建一个如下所示的数据透视表:
特征 | 前20名 | 前10名 |
---|---|---|
特征_a | 7 | 3 |
特征_b | 13 | 13 |
第二个表中的每个值都是每个类别的每个特征的总和。我在这里阅读数据透视表上的文档,但它对我需要得到的东西没有帮助。知道如何实现吗?(注意:我不必使用“pivot”功能,如果它可以通过任何其他功能来实现)
您可以UNION
用于合并 2 个数据透视表,例如:
SELECT
'feature_a' "FEATURE",
SUM(CASE WHEN category = 'top10' THEN feature_a ELSE 0 END) "TOP10",
SUM(CASE WHEN category = 'top20' THEN feature_a ELSE 0 END) "TOP20"
FROM bigdata
UNION
SELECT
'feature_b' "FEATURE",
SUM(CASE WHEN category = 'top10' THEN feature_b ELSE 0 END) "TOP10",
SUM(CASE WHEN category = 'top20' THEN feature_b ELSE 0 END) "TOP20"
FROM bigdata;