Я хочу вернуть количество строк, которое добавлено за последние 24 часа в мою базу данных. Следующий код должен работать на самом деле:MySQL Запрос количества строк за последние 24 часа
id_24h_back = "SELECT id FROM table WHERE datetime = now() - INTERVAL 1 DAY;"
id_now = "SELECT id FROM table WHERE datetime = now();"
amount_rows = id_now - id_24h_back
Я думаю, что этот код будет реально работать и дать мне результат мне нужно, но проблема в том, что не существует ряд каждый второй, так что я получаю пустой установить, если 24 часа назад было время, например, 10:10:10, но следующий существующий ряд был добавлен в 10:10:11.
Редактировать: Решение теперь выглядит следующим образом.
current_time = datetime.datetime.utcnow()
x_time_back = current_time - datetime.timedelta(hours=24) #24h
qry = "SELECT something FROM table_name WHERE x_datetime between " + str(x_time_back.strftime("'%Y-%m-%d %H:%M:%S'")) + " and " + str(current_time.strftime("'%Y-%m-%d %H:%M:%S'"))
qry_res = db.engine.execute(qry)
Спасибо Вам всем, кто пытался помочь. Также благодарю вас за людей, которые без причины обосновали мой вопрос.
'SELECT COUNT (id) FROM table WHERE datetime> now() - INTERVAL 1 DAY;'? – mata
Не поймите, почему это сбивает голоса ... – saitam