SQLite: среднее значение, сгруппированное по часам

#sqlite

#sqlite

Вопрос:

У меня есть набор данных с измерениями мощности за несколько дней. Я хочу найти среднее значение, сгруппированное по часам, что звучит довольно просто, но я получаю только один результат. Я пробовал следующее (и несколько вариантов этого), и я не уверен, чего мне не хватает. Я использую SQLite.

 select AVG(Power) 
from TrafoTotal
group by strftime('%H', Time);
  

Любая помощь приветствуется, спасибо!

Ответ №1:

Вероятно strftime() , возвращает null , потому что столбец Time содержит значения даты и времени, которые не находятся в формате YYYY-MM-DD hh:mm:ss , который является единственным допустимым форматом даты и времени для SQLite.
Если это так, то все ваши даты и времени рассматриваются только как 1 группа, и в результате вы получаете только 1 (неправильное) среднее значение.

Поэтому измените формат ваших дат, и ваш запрос будет работать.