У меня есть таблица только с одним столбцом со значениями даты и времени: мне нужно агрегировать дату и время по минутам и подсчитать, сколько записей у меня есть в текущую минуту (сейчас). Я пробую с этим запросом, но работает, только если поставить статическое значение (например, «2020-12-23 06:47») вместо «сейчас». Спасибо за всю помощь!
select time from (SELECT strftime('%Y-%m-%d %H:%M', datetime) as time, count(strftime('%Y-%m-%d %H:%M', datetime))
FROM log
GROUP BY strftime('%Y-%m-%d %H:%M', datetime)) as g
where time = strftime('%Y-%m-%d %H:%M', datetime("now"))
Вы можете использовать предложение WHERE
для фильтрации строк за текущую минуту, а затем использовать count
для подсчета количества записей следующим образом:
select strftime('%Y-%m-%d %H:%M', time) time, count(*) as cnt
FROM log
where strftime('%Y-%m-%d %H:%M', time) = strftime('%Y-%m-%d %H:%M', 'now')
Большое спасибо! я также установил местное время datetime('now','localtime') и теперь все работает правильно