-1
過去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テーブルWHERE datetime> now() - INTERVAL 1 DAY;'? – mata
これがなぜ投票に失敗したのか... – saitam