Группа по условию диапазона дат в SQL

Я пытаюсь получить SELECT на основе группировки не календарного дня, а состояния диапазонов дат (с 5:45 предыдущего дня до 5:45 следующего дня). Это немного смущает меня в этот момент:

select al, time,  AVG (index) as avg_index, COUNT (code) as cnt
from df
group by al, strftime('%d', time)

введите описание изображения здесь

Любые предложения о том, как это можно сделать на диалекте SQLlite?

Большое спасибо!

Всего 1 ответ

Автоматический диспенсер мыльной пены от xiaomi.


Вы можете вычесть 345 минут (5 часов 45 минут) и извлечь дату:

select al, date(datetime(time, '-345 minutes')),
       AVG(index) as avg_index, COUNT(code) as cnt
from df
group by al, date(datetime(time, '-345 minutes'))

Есть идеи?

10000