我有一张巨大的客户订单表,我想运行一个查询,通过“user_id”按月列出过去 13 个月的订单。我现在所拥有的(如下)有效,但不是只为每个 user_id 列出一行,而是为 user_id 的每个订单列出一行。例如:一个用户在他的一生中总共有 42 个订单,所以它在 42 行中列出了他的 user_id,每行只有一次付款。通常我会把它放在excel的数据透视表中,但我超过了百万行限制,所以我需要它是正确的并且成功率为零。我希望读出的内容如下所示:
用户 ID | jul_12 | aug_12 |
123456 | 150.00 | 150.00 |
不是这个:
用户 ID | jul_12 | aug_12 |
123456 | 0.00 | 150.00 |
123456 | 150.00 | 0.00 |
等等 40多行
SELECT ui.user_id,
SUM(CASE WHEN date_part('year', o.time_stamp) = 2012 AND date_part('month', o.time_stamp) = 07 THEN o.amount ELSE 0 END) jul_12,
SUM(CASE WHEN date_part('year', o.time_stamp) = 2012 AND date_part('month', o.time_stamp) = 08 THEN o.amount ELSE …Run Code Online (Sandbox Code Playgroud)