2010-03-07 12 views
15

Ich muss group_concat verwenden, um eine Liste von durch Komma getrennten Werten zu erstellen, aber ich brauche die Werte in Anführungszeichen. Wie mache ich das? DieseWie ziehe ich Werte mit group_concat

:

425,254,431,53,513,13,1,13 

Sollte umgewandelt werden:

'425','254','431','53','513','13','1','13' 

Antwort

33

Verwendung:

GROUP_CONCAT(CONCAT('''', your_column, '''')) 
+0

Danke OMG Ponys. Das funktioniert wie ein Zauber. – jim

+0

Wenn meine Unterabfrage 1,2,3 in der ersten Zeile und 3,4 in der zweiten Zeile und 9,2 in der dritten Zeile zurückgibt, so dass es nicht funktioniert, können Sie mir bitte etwas anderes geben –

9

Sie können die Elemente zitieren vor der Anwendung GROUP_CONCAT.

SELECT GROUP_CONCAT(CONCAT('\'', some_column, '\'')) 
FROM  some_table 
+0

+1: Du warst zuerst –

+0

Danke Max, ich habe versucht zu entscheiden, wem das zuzuschreiben ist. Thaks so sehr! – jim

18

Verwenden MySQL String-Funktion QUOTE.

GROUP_CONCAT(QUOTE(`foo`)) `bar` 

Dies behandelt Fälle, wenn die Zeichenfolge selbst ein Angebot enthält.

+1

@OP, Machen Sie dies als Angenommene Antwort. – nehemiah

+0

@itsneo Die angenommene Antwort hat OP geholfen, das ursprüngliche Problem zu lösen. Es ist nicht unbedingt "die beste" Lösung. Verwenden Sie Stimmen, um Ihre Meinung über die beste Lösung für das Problem zu äußern. – Gajus