Я полагаю, что следующее может делать то, что вы хотите: -
strftime('%d',time) - (strftime('%H:%M',time) < '05:45')
То есть, если время до 05:45, то 1 (true) вычитается из дня при определении аргумента GROUP BYи таким образом становится предыдущим днем.