首頁  >  文章  >  資料庫  >  如何使用 MySQL JOIN 和 LIMIT 1 檢索每個類別的第一個產品?

如何使用 MySQL JOIN 和 LIMIT 1 檢索每個類別的第一個產品?

Barbara Streisand
Barbara Streisand原創
2024-11-23 10:27:10470瀏覽

How to Retrieve the First Product for Each Category Using MySQL JOIN and LIMIT 1?

MySQL JOIN with LIMIT 1 on Joined Table

這個問題圍繞著連接兩個表,同時將連接表的結果限制為單一表記錄第一個表中的每個符合項。

在本例中,考慮兩個表格:類別和產品,其中每個表格產品屬於一個類別。目標是檢索每個類別以及該類別中的第一個產品。

為了實現此目的,使用子查詢來取得按 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn