MySQL の Join ステートメント内の最大日付のクエリ
MySQL 内のレコードの履歴位置を取得するには、JOIN ステートメントを利用できます。 。ただし、パフォーマンスの問題や結果の重複データが発生した場合は、アプローチを変更する必要があります。
変更されたクエリ
各レコード ID の最新の変更時刻のみを取得するにはと場所については、次のクエリを検討してください:
SELECT t1.received_id , t1.transaction_id , t1.date_modified , l.location FROM transactions t1 JOIN ( SELECT received_id, MAX(date_modified) maxmodify FROM transactions GROUP BY received_id) max_record ON max_record.received_id = t1.received_id AND max_record.maxmodify = t1.date_modified JOIN locations l ON l.location_id = t1.location_id JOIN received r ON r.received_id = t1.received_id WHERE t1.received_id = '1782' ORDER BY t1.date_modified DESC
Key変更
変更はサブクエリ内にあります:
SELECT received_id, MAX(date_modified) maxmodify FROM transactions GROUP BY received_id
このサブクエリは、各受信 ID の最大日付を取得します。
最大値で結合
メイン クエリは、2 つのクエリを使用してこのサブクエリに結合します。条件:
最大の日付に参加すると、重複した結果が排除されます最新の位置変更のみをキャプチャします。
以上がJOIN ステートメントを使用して MySQL で最新の位置データを効率的にクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。