Heim > Datenbank > MySQL-Tutorial > Wie rufe ich mit MySQL JOIN und LIMIT 1 das erste Produkt für jede Kategorie ab?

Wie rufe ich mit MySQL JOIN und LIMIT 1 das erste Produkt für jede Kategorie ab?

Barbara Streisand
Freigeben: 2024-11-23 10:27:10
Original
527 Leute haben es durchsucht

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

MySQL JOIN mit LIMIT 1 für verbundene Tabelle

Bei dieser Frage geht es darum, zwei Tabellen zu verbinden und gleichzeitig die Ergebnisse der verbundenen Tabelle auf eine einzige zu beschränken Eintrag für jede Übereinstimmung in der ersten Tabelle.

Betrachten Sie in diesem Fall zwei Tabellen: Kategorien und Produkte, wobei jedes Produkt zu einer Kategorie gehört. Das Ziel besteht darin, jede Kategorie zusammen mit dem ersten Produkt innerhalb dieser Kategorie abzurufen.

Um dies zu erreichen, wird eine Unterabfrage verwendet, um den Primärschlüssel des ersten Produkts innerhalb jeder Kategorie, sortiert nach ID, abzurufen. Dieser Primärschlüssel wird dann in der äußeren Abfrage verwendet, um die entsprechenden Kategorie- und Produktinformationen abzurufen.

Die Abfrage kann wie folgt aufgebaut sein:

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
  )
Nach dem Login kopieren

Dieser Ansatz stellt sicher, dass nur ein einzelnes Produkt Der Datensatz wird pro Kategorie abgerufen, wodurch effektiv das gewünschte Ergebnis erzielt wird.

Das obige ist der detaillierte Inhalt vonWie rufe ich mit MySQL JOIN und LIMIT 1 das erste Produkt für jede Kategorie ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage