piolvior
@piolvior
начинающий продуктовый аналитик

Как в PostgreSQL при запросе отобразить дни без данных?

Похожие вопросы уже были, но я не понимаю, как связать мою ситуацию с прошлыми примерами.

Мне нужно отобразить данные за период. Причем, если значение равно нулю, то эти данные тоже должны присутствовать. Я так понимаю, что это можно сделать через LEFT JOIN . Но как непонятно.

Прямо сейчас мой запрос выглядит примерно так:
SELECT date_trunc('day', to_timestamp(created_at)) as "Interval", COUNT(*) as "Number" FROM public.surmise 
where
GROUP BY 1 ORDER BY 1

В таком запросе я получаю примерно такое:
January 1 - 10
January 3 - 20
January 10 - 5

А хочу получать, чтобы были и нулевые значения
January 1 - 10
January 2 - 0
January 3 - 20
January 4 - 0
... и другие дни с нулевым значением...
January 10 - 5
  • Вопрос задан
  • 77 просмотров
Пригласить эксперта
Ответы на вопрос 2
ZERGeich
@ZERGeich
Если у вас на эти дни записей в базе нет даже нулевых - откуда у вас хоть нули хоть миллионы с ними взяться должны?
Ответ написан
@nApoBo3
Используйте generate_series, для генерации последовательности дата, дальше left join по дате с вашей выборкой.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы