Heim >Datenbank >MySQL-Tutorial >Wie kann ich MySQL-Abfrageergebnisse als durch Kommas getrennte Liste abrufen?

Wie kann ich MySQL-Abfrageergebnisse als durch Kommas getrennte Liste abrufen?

Linda Hamilton
Linda HamiltonOriginal
2025-01-17 02:13:10963Durchsuche

How Can I Retrieve MySQL Query Results as a Comma-Separated List?

Erhalten Sie MySQL-Abfrageergebnisse als durch Kommas getrennte Liste

In MySQL müssen Sie die Abfrageergebnisse möglicherweise als durch Kommas getrennte Liste abrufen. Obwohl Sie Unterabfragen verwenden können, um bestimmte Informationen zu extrahieren, stoßen Sie bei der Darstellung der Daten im gewünschten Format auf einige Einschränkungen.

Frage:

Bedenken Sie die folgende Abfrage:

<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>

Die Unterabfrage gibt jeden Site-Namen als separate Spalte zurück, was nicht mit dem gewünschten Ergebnis der durch Kommas getrennten Liste übereinstimmt.

Lösung:

MySQL bietet die Funktion GROUP_CONCAT, um dieses Ziel zu erreichen. Durch Nutzung dieser Funktion können Sie Ihre Abfrage wie folgt ändern:

<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>

GROUP_CONCAT Verkettet die Werte in der angegebenen Spalte (in diesem Fall die Spalte „Name“ in der Tabelle „Sites“) und trennt sie durch ein vordefiniertes Trennzeichen (normalerweise ein Komma). Die Ergebnisse werden dann nach den Spalten „id“ und „name“ in der Tabelle „publications“ gruppiert, wodurch ein eindeutiger Datensatz für jede Veröffentlichung und die zugehörigen Websites bereitgestellt wird, die als durch Kommas getrennte Liste angezeigt werden.

Das obige ist der detaillierte Inhalt vonWie kann ich MySQL-Abfrageergebnisse als durch Kommas getrennte Liste abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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