Базы Данных (Data Base) | SQL & NoSQL. PostgreSQL, MySQL и Big Data. Уроки для Backend и Data Engineer. Архитектура БД, Оптимизация и Design.
IT и технологии · 18 мая 2026 г.
🚀 Сегодня я покажу вам один из моих любимых хаков для PostgreSQL – генерация серий дат... — 18 мая 2026 г. в 08:48:37.257
🚀 Сегодня я покажу вам один из моих любимых хаков для PostgreSQL – генерация серий дат без циклов и хранимок. Это идеальный способ быстро собрать таймлайн для аналитики или отчётов. Сценарий: вам нужно построить список всех дат за последний месяц — например, чтобы потом сделать LEFT JOIN к таблице с событиями и увидеть, где были пропуски. Вот как это делается с помощью generate_series: SELECT generate_series( date_trunc('day', current_date) - interval '30 days', date_trunc('day', current_date), interval '1 day' ) AS day; 💡 Результат — 31 строка с датами от 30 дней назад до сегодняшнего дня. Теперь добавим, например, LEFT JOIN к таблице events, чтобы увидеть активность по дням: SELECT d.day, COUNT(e.id) AS events_count FROM generate_series( date_trunc('day', current_date) - interval '30 days', date_trunc('day', current_date), interval '1 day' ) AS d(day) LEFT JOIN events e ON date_trunc('day', e.created_at) = d.day GROUP BY d.day ORDER BY d.day; 📊 Отлично подходит для дашбордов, когда нужно увидеть, где были дни без событий. #db 👉 @database_info

