aboutsummaryrefslogtreecommitdiff
path: root/content/posts/postgres-aggregates/aggregation.sql
diff options
context:
space:
mode:
authorMartin Kagamino Lehoux <martin@lehoux.net>2023-09-23 20:19:44 +0200
committerMartin Kagamino Lehoux <martin@lehoux.net>2023-09-23 20:19:44 +0200
commit20219dd4f7192c61492b7667dd3f15b05dbba044 (patch)
tree14d436e34d52ddea4517bb2c2ed8de9fe414e609 /content/posts/postgres-aggregates/aggregation.sql
parent7455ccba6c2e42006ecb606a3043d4407a2a774e (diff)
feat: Add post to version control
Diffstat (limited to 'content/posts/postgres-aggregates/aggregation.sql')
-rw-r--r--content/posts/postgres-aggregates/aggregation.sql20
1 files changed, 20 insertions, 0 deletions
diff --git a/content/posts/postgres-aggregates/aggregation.sql b/content/posts/postgres-aggregates/aggregation.sql
new file mode 100644
index 0000000..ebb9ed5
--- /dev/null
+++ b/content/posts/postgres-aggregates/aggregation.sql
@@ -0,0 +1,20 @@
+EXPLAIN (
+ ANALYZE,
+ COSTS,
+ VERBOSE,
+ BUFFERS
+)
+SELECT
+ products.id AS product_id,
+ products.name AS product_name,
+ COUNT(DISTINCT reviews.id) AS num_reviews,
+ COUNT(DISTINCT orders.id) AS num_orders
+FROM
+ products
+ LEFT JOIN reviews ON reviews.product_id = products.id
+ LEFT JOIN orders ON orders.product_id = products.id
+ -- WHERE
+ -- products.id % 10 = 0
+GROUP BY
+ products.id;
+