小编gre*_*ade的帖子

Sum(Case when) 导致选择的多行

我有一张巨大的客户订单表,我想运行一个查询,通过“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)

postgresql sum case-when

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

case-when ×1

postgresql ×1

sum ×1