与 postgresql 的交叉表查询

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

我在 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

我用交叉表功能做了一些测试,但没有得到任何结果,有人可以帮助我吗? 非常感谢

我尝试了交叉表功能,遵循一些教程并在这里回答,但我不太明白如何创建这个查询。

postgresql pivot-table
1个回答
0
投票

您可以使用 aggregate

filter
子句 进行逆透视。如果您希望在给定 coalesce()
 中没有行(所有行都会在 
0
之前被过滤掉)时获得
Operator
,请添加
Category

db<>fiddle 的演示 sum()


类别C1C2
用户1 用户2 用户3
2 3 5
1 0 1
© www.soinside.com 2019 - 2024. All rights reserved.