Я уверен, что это довольно простой вопрос, но Google не помогает сегодня.У меня есть таблица с полем, которое «метка времени без часового пояса».Записи данных охватывают несколько дней, и я хочу получать агрегаты на почасовой основе для других параметров (например, avg (скорость)) и группировать по часам ... так что средняя скорость за весь месяц за 2 часа, 3 часа, 4час ... и так далее.Ближайшим рабочим запросом был:
SELECT
avg(data.speed) AS avg_hourly_speed,
max(data.speed) AS max_hourly speed,
min(data.speed) AS min_hourly_speed,
date_part('hour', data.start_time),
date_part('hour', data.end_time),
FROM dat
GROUP BY date_part('hour', data.start_time), date_part('hour',data.end_time), data.start_time,data.end_time;
Это приводит к требуемым агрегатам, но новые 24 записи для каждого дня ... Я хочу получить агрегаты для ВСЕХ дат (дней), сгруппированных по часам.Таким образом, максимум 1 запись за каждый час, содержащий средние значения.
Последнее, start_time и end_time всегда на точке, поэтому наличие их обоих является избыточным ... Я могу сделать только одну группировку.
Большое спасибо