私はMySQLデータベースとtransactions
テーブルを持っています。過去1時間以内に最後の10件の取引を、昇順にソートして取得したいと思います。設定時間内のMySQLクエリトランザクション
実行中のクエリは次のとおりです。
SELECT TimeStamp, SerialNo
FROM transactions
WHERE TimeStamp > NOW() - INTERVAL 1 HOUR
ORDER BY TimeStamp ASC
LIMIT 10
これにより、次のようなトランザクションのリストが生成されます。
20551094 2017-08-15 15:47:12
20551095 2017-08-15 15:47:15
20551096 2017-08-15 15:47:38
20551097 2017-08-15 15:47:51
20551098 2017-08-15 15:47:56
20551099 2017-08-15 15:48:23
20551100 2017-08-15 15:48:23
20551101 2017-08-15 15:48:26
20551102 2017-08-15 15:48:29
私は多く取引私は見ていないよ午後03時48分29秒後にがあることを知っています。
私が取り除くたびに、私は何千ものトランザクションを提示されますが、私は最新の10だけが必要です。
20551421 2017-08-15 16:47:55
20551422 2017-08-15 16:48:05
20551423 2017-08-15 16:48:06
20551424 2017-08-15 16:48:10
20551425 2017-08-15 16:48:15
20551426 2017-08-15 16:48:20
20551427 2017-08-15 16:48:26
20551428 2017-08-15 16:48:28
20551429 2017-08-15 16:48:30
20551430 2017-08-15 16:48:51
私がこの順序で必要とするのは、自分のウェブサイトにリアルタイムのデータを表示しているからです。
どうすればこの問題を解決できますか?私はここで何かばかげているような気がする!
アドバイスありがとうございます。あなたは10件の最新の取引をしたい場合は
は参照してください:[なぜ私は非常に単純なSQLように私には思える何のためにMCVEを提供する必要がありますクエリ?](https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple- SQLクエリ) – Strawberry
'LIMIT 10 'が何を意味するのか知っていますか?あなたは '15:48:29 'の後のレコードを見ることはできません。これは10レコード以上を返すことを意味するからです。 –
最新のトランザクションを取得するには、 'ORDER BY timestamp DESC'を使用してください。 – Barmar