Группировать по условию диапазона дат в SQL - PullRequest
0 голосов
/ 15 ноября 2018

Я пытаюсь получить 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)

enter image description here

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

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

1 Ответ

0 голосов
/ 15 ноября 2018

Вы можете вычесть 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'))
...