ホームページ >データベース >mysql チュートリアル >MySQL テーブルを関連テーブルの最新の行のみに結合するにはどうすればよいですか?
MySQL: 最新の行のみへの結合
このシナリオにはテーブル customer と customer_data があり、customer_data には履歴が含まれています。顧客ごとに変化します。目標は、customer_data の最新の行のみに結合しながら顧客情報を取得することです。
これを達成するには、WHERE 句内でサブクエリを使用して、customer_data 内の各顧客の最大 ID を特定します。以下に示すように、LEFT JOIN 構文を使用して、このサブクエリを customer テーブルに結合します。
SELECT c.*, FROM customer AS c LEFT JOIN customer_data AS d ON d.customer_id = c.customer_id AND d.ID = ( SELECT MAX(ID) FROM customer_data WHERE customer_id = c.customer_id ) WHERE name LIKE '%Smith%' LIMIT 10, 20;
このクエリ内:
このアプローチでは、顧客ごとに最新のエントリを効果的に分離し、それらを顧客テーブルに結合してさらに処理します。
以上がMySQL テーブルを関連テーブルの最新の行のみに結合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。