克雷格·克尔斯蒂恩斯:使用 Postgres FILTER

克雷格·克尔斯蒂恩斯:使用 Postgres FILTER

💡 原文英文,约900词,阅读约需4分钟。
📝

内容提要

开发者们熟悉SQL,知道有多种方法可以获得相同的结果。本文介绍了三种不同的方法:使用公共表达式(CTE)组织子查询,在聚合上下文中使用CASE语句过滤所需的值,以及使用FILTER清理语法,但实际上与CASE语句相同。最终,我们可以生成每月收入报表,包括已开票、未收取和已收取的金额。

🎯

关键要点

  • 开发者熟悉SQL,知道有多种方法获得相同结果。

  • 本文介绍三种方法:使用公共表达式(CTE)、使用CASE语句和使用FILTER。

  • 目标是生成每月收入报表,包括已开票、未收取和已收取的金额。

  • 发票表的结构包括id、account_id、net_total_in_cents、invoice_period、status等字段。

  • 使用CTE可以将多个查询聚合为一个查询,便于组织子查询。

  • CASE语句用于条件过滤,简化查询。

  • FILTER语法与CASE语句功能相似,但使SQL更易读。

🏷️

标签

➡️

继续阅读