結合ステートメント内の最大日付を選択する方法
MySQL では、結合ステートメント内の特定の属性の最大日付を取得できます。 MAX() 関数を使用して結合されたデータセット。この手法は、履歴データを収集したり、特定のイベントの最新のインスタンスを特定したりするために一般的に使用されます。
次のクエリについて考えてみます。
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
このクエリは、レシート ID、トランザクション ID、変更日、および ID '1782' のレコードの場所。変更日は、そのレシート ID で見つかった最大の日付と一致します。これにより、指定されたレコードの最新の履歴情報を確実に取得できます。
クエリの中心的なコンポーネントは次のサブクエリです。
SELECT id,MAX(thing) max_thing FROM my_table GROUP BY id
このサブクエリは、モノの属性の最大値を識別します。 id 属性で定義された各グループ内。元のテーブルをこのサブクエリと結合することで、最大でない日付を持つレコードを除外し、必要な履歴データのみを取得できます。
以上がMySQL 結合の最大日付を見つける方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。