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

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.

Dieser Beitrag wurde unter Allgemein, Software-Development veröffentlicht. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

CAPTCHA-Bild

*