我在 postgres 中有这张表:
产品编号 | 产品名称 | 类别 | 操作员 | 一块 |
---|---|---|---|---|
10 | 卡波纳拉 | C1 | 用户1 | 1 |
11 | 意大利面 | C1 | 用户2 | 1 |
12 | 可乐 | C2 | 用户1 | 1 |
10 | 卡波纳拉 | C1 | 用户2 | 2 |
11 | 意大利面 | C1 | 用户1 | 1 |
11 | 意大利面 | C1 | 用户3 | 5 |
12 | 可乐 | C2 | 用户3 | 1 |
我想要这样的结果:
类别 | 用户1 | 用户2 | 用户3 |
---|---|---|---|
C1 | 2 | 3 | 5 |
C2 | 1 | 0 | 1 |
我用交叉表功能做了一些测试,但没有得到任何结果,有人可以帮助我吗? 非常感谢
我尝试了交叉表功能,遵循一些教程并在这里回答,但我不太明白如何创建这个查询。
您可以使用 aggregate
filter
子句 进行逆透视。如果您希望在给定 coalesce()
中没有行(所有行都会在
0
之前被过滤掉)时获得 Operator
,请添加 Category
:sum()
用户1 | 用户2 | 用户3 | |
---|---|---|---|
2 | 3 | 5 | |
1 | 0 | 1 |