Я запрашиваю InfBDB для создания графика в графане. Influxdb содержит солнечную энергию кВт с отметкой времени каждые 5 секунд. Я хочу агрегировать солнечное производство с 4 вечера до 9 вечера каждый день. В UTC это становится с 2300 до 0400. Я могу сделать с 2300 до 0000 и отдельно от 0000 до 0400, но я не знаю, как добавить их вместе с графаной. Или было бы неплохо сделать 2300-0400 в одном запросе. Вот мои 2 запроса для 2300 до 0000 и от 0000 до 0400:
SELECT first("integral") FROM ( SELECT integral("kW",1h) FROM "solar" WHERE TIME >'2019-10-04T23:00:00Z' GROUP BY time(1h)) WHERE TIME >'2019-10-04T23:00:00Z' GROUP BY time(24h,23h)
SELECT first("integral") FROM ( SELECT integral("kW",1h) FROM "solar" WHERE TIME >'2019-10-05' GROUP BY time(4h)) WHERE TIME >'2019-10-05' GROUP BY time(24h)
Обновление: Следующее работает в течение 1 часа желаемого промежутка времени:
SELECT first("integral") FROM ( SELECT integral("kW",1h) FROM "solar" WHERE TIME >'2019-10-04 16:00:00' GROUP BY time(1h)) WHERE TIME >'2019-10-04 16:00:00' GROUP BY time(24h,16h) tz('America/Los_Angeles')
однако, если я увеличу временной интервал до 2 ч, он вернет неправильный результат:
SELECT first("integral") FROM ( SELECT integral("kW",1h) FROM "solar" WHERE TIME >'2019-10-04 16:00:00' GROUP BY time(2h)) WHERE TIME >'2019-10-04 16:00:00' GROUP BY time(24h,16h) tz('America/Los_Angeles')