From 20219dd4f7192c61492b7667dd3f15b05dbba044 Mon Sep 17 00:00:00 2001 From: Martin Kagamino Lehoux Date: Sat, 23 Sep 2023 20:19:44 +0200 Subject: feat: Add post to version control --- .../posts/postgres-aggregates/sequential-ctes.sql | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 content/posts/postgres-aggregates/sequential-ctes.sql (limited to 'content/posts/postgres-aggregates/sequential-ctes.sql') diff --git a/content/posts/postgres-aggregates/sequential-ctes.sql b/content/posts/postgres-aggregates/sequential-ctes.sql new file mode 100644 index 0000000..fa18acd --- /dev/null +++ b/content/posts/postgres-aggregates/sequential-ctes.sql @@ -0,0 +1,28 @@ +-- EXPLAIN (ANALYZE, COSTS, VERBOSE, BUFFERS) +WITH product_with_reviews AS ( + SELECT + products.id AS product_id, + products.name AS product_name, + COUNT(reviews.id) AS num_reviews + FROM + products + LEFT JOIN reviews ON reviews.product_id = products.id + -- WHERE + -- products.id % 10 = 0 + GROUP BY + products.id, + products.name +) +SELECT + product_with_reviews.product_id, + product_name, + num_reviews, + COUNT(id) AS num_orders +FROM + product_with_reviews + LEFT JOIN orders ON orders.product_id = product_with_reviews.product_id +GROUP BY + product_with_reviews.product_id, + product_name, + num_reviews; + -- cgit v1.3