我正在使用 Presto。如果我有一个像这样的表:
ID CATEGORY VALUE
1 a ...
1 b
1 c
2 a
2 b
3 b
3 d
3 e
3 f
Run Code Online (Sandbox Code Playgroud)
如果不为每个组合编写 case 语句,您将如何转换为以下内容?
ID A B C D E F
1
2
3
Run Code Online (Sandbox Code Playgroud)
我从未使用过 Presto,文档看起来很薄,但根据这篇文章,您似乎可以这样做
SELECT
id,
kv['A'] AS A,
kv['B'] AS B,
kv['C'] AS C,
kv['D'] AS D,
kv['E'] AS E,
kv['F'] AS F
FROM (
SELECT id, map_agg(category, value) kv
FROM vtable
GROUP BY id
) t
Run Code Online (Sandbox Code Playgroud)
尽管我建议如果可能的话在显示层中执行此操作,因为您必须指定列。大多数报告工具和 UI 网格都支持某种动态旋转,这将根据源数据创建列。
| 归档时间: |
|
| 查看次数: |
9684 次 |
| 最近记录: |