【发布时间】:2020-07-14 14:50:44
【问题描述】:
事情是这样的,我有这张桌子:
id rank price
1 1 100
1 2 200
2 1 300
2 2 100
2 3 200
3 1 300
我想构建这样的东西:
id price_rank_1 price_rank_2 price_rank_3
1 100 200 NULL
2 300 100 200
3 300 NULL NULL
这应该很简单,只是某种情况,Idk,但我想不通。
更新:我尝试了How to convert row into column in PostgreSQL of below table的答案:
select id,
price filter (where rank=1) as price_rank_1,
price filter (where rank=2) as price_rank_2,
price filter (where rank=3) as price_rank_3,
from table
但我得到了错误:
Invalid operation: syntax error at or near "("
【问题讨论】:
-
@MikeOrganek 非常感谢,我认为问题在于我不知道要搜索什么。我应该删除我的问题吗?
-
是的,请。如果没有,有人可能会将其标记为重复项并将其关闭。
-
@MikeOrganek 奇怪的事情,帖子的答案不起作用。我会更新我的问题,以便您或其他人可以看到
-
你的 Postgres 版本是什么?
select version();会告诉你
标签: postgresql pivot pivot-table case-when