Например, показать дни без заказов. PostgreSQL умеет генерировать последовательности прямо в запросе:
SELECT *
FROM generate_series('2025-01-01', '2025-01-31', interval '1 day');
generate_series() создаёт виртуальную таблицу с шагом по дате.Никаких временных таблиц, никаких циклов.
Теперь можно объединить это с данными:
SELECT g.day, COUNT(o.id) AS total
FROM generate_series('2025-01-01', '2025-01-31', interval '1 day') AS g(day)
LEFT JOIN orders o ON date(o.created_at) = g.day
GROUP BY g.day
ORDER BY g.day;
🔥 Пригодится для аналитики временных рядов,
заполнения пропусков и построения отчётов!
➡️ SQL Ready | #совет
