Suche Query: Konkatenieren von Strings einer Spalte, die gruppiert (GROUP BY) sind

l0rd

New Member
Hi,

es handelt sich zwar nicht um ein Problem mit dem MySQL-Server, aber ich hoffe trotzdem, dass ich hier richtig aufgehoben bin.

Problem ist Folgendes:

Ich habe eine Datenbanken mit Adressen. Nun will ich zu Statistik-Zwecken die Daten nach PLZ gruppieren und verschiedene Sachen aggregieren (Anzahl an Einträgen z.B.).
(Soweit kein Problem)

Ein richtig schönes Feature wäre die Konkatenation der Orte zu den PLZ, so dass am Ende pro PLZ eine Zeile als Resultat gegeben wird, in welcher ein Ergebniswert die Konkatenation aller Orte darstellt, die zu der PLZ gespeichert sind.

Bisher habe ich:

Code:
SELECT plz, CONCAT_WS(',',ort) as orte, SUM(`anz`) AS summe, COUNT(*) AS anzahl
		FROM tabelle
		WHERE jahr=".$statistic_year."
		GROUP BY plz
		ORDER BY plz ASC

CONCAT_WS(',',ort) funktioniert aber nicht so wie gedacht. Das CONCAT_WS hat gar keine Wirkung. Es wird immer nur der erste Ergebniswert einer Gruppe ausgegeben, als ob kein CONCAT_WS da stehen würde.

Für google fehlen mir irgendwie die falschen Suchbegriffe, da ich immer wieder zu CONCAT oder CONCAT_WS komme,...

Das Problem nochmal in einem Beispiel (fiktive PLZ!!):

Tabelleninhalt:
12345 - Köln
12345 - Düsseldorf
67890 - München

Gewünschtes Ergebnis des Querys:
12345 - Köln, Düsseldorf
67890 - München


Ich hoffe ich werde jetzt nicht ermordet, weil im Beispiel Köln und Düsseldorf die gleiche PLZ haben :-)


Vielen Dank im Voraus!

Dennis
 
Back
Top