All Posts from Februar, 2006

MySQL: Feld eine GROUP_BY SELECT Anfrage mit GROUP_CONCAT als komma-getrennte Liste

Februar 4th, 2006 | By Christoph in Allgemein, Software-Development | No Comments »

SELECT b.bestellnummer, GROUP_CONCAT(p.produktid SEPARATOR ‘, ‘) AS produktIds
FROM bestellungen b LEFT JOIN produkte p ON b.bestellnummer = p.bestellnummer
GROUP BY b.bestellnummer

Damit bekomme ich eine Liste aller Bestellungen gruppiert nach Bestellungnummer.
Alle Produkte, die an einer Bestellung dranhängen, werde in einer extra Spalte “produktIds” durch Komma getrennt ausgegeben.

Ziemlich nützlich in einigen Fällen und erspart einen Haufen zusätzlicher Queries. Was allerdings MySQL intern bei diesem Aggregator macht und wie groß der Overhead ausfällt weiss ich nicht.