Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Инфо по каждому часу, если пусто 0 / 5 сообщений из 5, страница 1 из 1
21.09.2017, 21:56
    #39524538
Stranges
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Инфо по каждому часу, если пусто 0
Нужно вывести из таблицы инфо по каждому часу в 24часовом формате, если в таблице нет инфо то вывести 0. Есть запрос который выводит инфо из бд, но только то что есть, не по каждому часу, а нужно по 24.
Думала сделать временную таблицу в которой хранить значения от 0 до 23 и джойнить ее, но кажется это оперативное и глупое решение.
Дайте грамотных идей плиз!!!!!
...
Рейтинг: 0 / 0
21.09.2017, 22:05
    #39524539
vyegorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Инфо по каждому часу, если пусто 0
Stranges,

Как-то так:
Код: sql
1.
2.
3.
SELECT h.h, coalesce(t.val, 0) val
  FROM generate_series(date_trunc('day', now()), date_trunc('day',now()) + INTERVAL '23h', '1h') h
  LEFT JOIN data_tab t ON date_trunc('hour', t.datetime)=h.h;



Только надо иначе связывать, чтобы индексы не вырубать. Возможно LATERAL подзапросом что-то считать для каждого часа.
...
Рейтинг: 0 / 0
22.09.2017, 07:42
    #39524590
Lonepsycho
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Инфо по каждому часу, если пусто 0
vyegorov,

может лучше с CTE, и UNION ALL вместе с NOT EXISTS... ?
...
Рейтинг: 0 / 0
22.09.2017, 11:26
    #39524730
vyegorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Инфо по каждому часу, если пусто 0
Lonepsycho,

Может и лучше, неизвестно что там за таблица и какие данные в ней.
...
Рейтинг: 0 / 0
22.09.2017, 23:08
    #39525173
Stranges
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Инфо по каждому часу, если пусто 0
vyegorov, спасибо большое!! Передалала как надо, все работает!
Таблица небольшая, требуются данные только за день, а там меньше 100 записей, работает отлично!
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Инфо по каждому часу, если пусто 0 / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]