Heim > Datenbank > MySQL-Tutorial > Wie kann ich durch Kommas getrennte Listen aus MySQL-Abfrageergebnissen generieren?

Wie kann ich durch Kommas getrennte Listen aus MySQL-Abfrageergebnissen generieren?

Patricia Arquette
Freigeben: 2025-01-17 01:57:08
Original
286 Leute haben es durchsucht

How Can I Generate Comma-Separated Lists from MySQL Query Results?

Komma-getrennte Listen aus MySQL-Daten generieren

Das Extrahieren von Daten in einem bestimmten Format, beispielsweise einer durch Kommas getrennten Liste, ist eine häufige Aufgabe. Angenommen, Sie benötigen Veröffentlichungsdetails und eine durch Kommas getrennte Liste der zugehörigen Site-Namen. Ein naiver Ansatz mit einer Unterabfrage könnte so aussehen:

<code class="language-sql">SELECT p.id, p.name, 
       (SELECT name 
          FROM sites s 
         WHERE s.id = p.site_id) AS site_list
  FROM publications p</code>
Nach dem Login kopieren

Dies erzeugt jedoch einen einzelnen Site-Namen pro Zeile und keine durch Kommas getrennte Liste.

Die Lösung: GROUP_CONCAT

Der Schlüssel zum Erstellen der gewünschten durch Kommas getrennten Liste ist die Funktion GROUP_CONCAT. Diese Funktion verkettet mehrere Werte zu einer einzigen Zeichenfolge, getrennt durch Kommas (oder ein benutzerdefiniertes Trennzeichen). Hier ist die verbesserte Abfrage:

<code class="language-sql">SELECT p.id, p.name, GROUP_CONCAT(s.name) AS site_list
FROM sites s
INNER JOIN publications p ON (s.id = p.site_id)
GROUP BY p.id, p.name;</code>
Nach dem Login kopieren

Diese überarbeitete Abfrage verwendet GROUP_CONCAT(s.name), um Site-Namen zu kombinieren. Die INNER JOIN verknüpft effizient die Tabellen publications und sites und GROUP BY p.id, p.name stellt sicher, dass die Funktion GROUP_CONCAT die Site-Namen für jede Veröffentlichung korrekt aggregiert.

Das obige ist der detaillierte Inhalt vonWie kann ich durch Kommas getrennte Listen aus MySQL-Abfrageergebnissen generieren?. 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