Я хочу создать среднее значение температуры для каждого дня, пока есть данные.Проблема, с которой я сталкиваюсь, заключается в том, что день начинается в 7:00 утра и заканчивается в 7:00 утра следующего дня (так устроен API).
Я знаю, что приведенный ниже код неверен, но этообщее представление о том, чего я хочу достичь.Я использую Postgres.
@temp = Station.select('DATE(ts) as ts, AVG(temperature) as avgtemp')
.group(:ts).order(:ts).where('ts BETWEEN ? AND ?', 'ts.beginning_of_day + 7.hours', 'ts.end_of_day + 7.hours))
Итак, найдите среднее значение температуры за день, начиная с 7:00 утра и заканчивая 7:00 утра следующего дня.
Я пытался Time.now.utc.beginning_of_day
и Time.now.utc.end_of_day
, но это дает только среднее значение за текущий день и неправильное время начала.