@skajtersen

Как посчитать количество записей по интервалам?

В таблице есть столбец, который хранит время создания записи. В запросе задаются конечная и начальная даты, далее промежуток разбивается на n частей. И внутри каждого такого промежутка нужно посчитать количество записей из базы.
Подскажите, что нужно дописать в запрос.
SELECT COUNT(*) quantity, 
                 (timestamptz '2017-02-21 22:24:04+07' - timestamptz '2017-02-21 22:18:00+07')/n AS interval 
                 FROM table 
                 GROUP BY INTERVAL
                 ORDER BY INTERVAL;
  • Вопрос задан
  • 565 просмотров
Пригласить эксперта
Ответы на вопрос 1
@d-stream
Готовые решения - не подаю, но...
вначале тем или иным образом надо "классифицировать" записи по интервалам:
- через case если они константные и их немного
- через некую вспомогательную таблицу интервалов
- через "округление" дат - типа day(), month() или diff/const

т.е. в результате должна получиться таблица с колонкой interval_id - вот по нему уже и группировать
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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