EN
PostgreSQL - Group rows by months
0
points
In this article, we would like to show you how in the group rows by months in PostgreSQL.
Note: at the end of this article you can find database preparation SQL queries.
SQL example:
SELECT
DATE_TRUNC('month', "event_timestamp") AS "month",
COUNT(*)
FROM "events"
GROUP BY DATE_TRUNC('month', "event_timestamp")
ORDER BY DATE_TRUNC('month', "event_timestamp")
Result:
Shorter notation of the example above:
SELECT
DATE_TRUNC('month', "event_timestamp") AS "month",
COUNT(*)
FROM "events"
GROUP BY 1
ORDER BY 1
Database preparation
create_tables.sql
file:
CREATE TABLE "events" (
"id" SERIAL NOT NULL,
"event_timestamp" TIMESTAMP NOT NULL,
PRIMARY KEY ("id")
);
insert_data.sql
file:
INSERT INTO "events"
("event_timestamp")
VALUES
('2021-03-11 11:41:31'),
('2021-03-21 12:42:32'),
('2021-03-22 14:44:34'),
('2021-03-22 15:45:35'),
('2021-03-23 16:46:36'),
('2021-04-05 17:47:37'),
('2021-04-05 19:49:39'),
('2021-04-16 20:50:40'),
('2021-04-17 15:45:35'),
('2021-04-23 16:46:36'),
('2021-04-23 19:49:39'),
('2021-04-23 20:50:40');