結合されたテーブルで LIMIT 1 を使用した MySQL JOIN
この質問は、結合されたテーブルからの結果を 1 つに制限しながら 2 つのテーブルを結合することを中心に展開します。最初のテーブルの各一致のレコード。
この例では、カテゴリとカテゴリの 2 つのテーブルを考えます。 products では、各製品がカテゴリに属します。目的は、各カテゴリとそのカテゴリ内の最初の製品を取得することです。
これを達成するには、サブクエリを使用して、ID でソートされた各カテゴリ内の最初の製品の主キーを取得します。この主キーは外部クエリで使用され、対応するカテゴリと製品情報が取得されます。
クエリは次のように構成できます。
SELECT c.id, c.title, p.id AS product_id, p.title AS product_title FROM categories AS c JOIN products AS p ON p.id = ( SELECT p1.id FROM products AS p1 WHERE c.id = p1.category_id ORDER BY p1.id LIMIT 1 )
このアプローチにより、単一の製品のみが取得されます。レコードはカテゴリごとに取得され、目的の結果に効果的に対処します。
以上がMySQL JOIN と LIMIT 1 を使用して各カテゴリの最初の製品を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。