【发布时间】:2018-01-31 15:02:54
【问题描述】:
我有一个临时表,其中包含按 id 和类型组织的事件计数。它们是 6 个可能的事件。以下是来自 id 234 的结果。
SELECT * FROM _tmp_grouped WHERE id = 234;
我想对此进行交叉表,以便类型成为列标题。
SELECT *
FROM crosstab('SELECT * FROM _tmp_grouped WHERE id = 234')
AS (id INT, prompt_shown_last BIGINT, prompt_shown BIGINT, prompt_dismissed_last BIGINT, prompt_dismissed BIGINT, prompt_allowed_last BIGINT, prompt_allowed BIGINT);
但是,一旦我添加了额外的 ID,交叉表结果就会变得很奇怪。
如果我根本不进行过滤,prompt_shown_last 列将被填充,但所有其他列都为空。此外,每个 prompt_id 有 6 行,代表所有 6 个可能的事件。
有人遇到过这种情况吗?
【问题讨论】:
标签: postgresql pivot pivot-table crosstab