我有一个临时表,其中包含按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个可能的事件。
以前有人遇到过吗?
1条答案
按热度按时间pod7payv1#
我可以通过命令tmp_grouped查询来解决这个问题-