2017-04-11 12 views
0

Es gibt nur wenige Zeilen Kombination:mehrere Zeilen Werte in einzelne

Id marks 
1 15 
1 16 
1 17 
2 6 
2 15 
3 9 
3 10 

Ich möchte verschmelzen alle ID in einer einzigen Zeile, mit Ausgabe wie folgt:

Id marks1 marks2 marks3 
1 15 16  17 
2 6  15 
3 9  10 
+0

noch einige Beispieldaten hinzufügen, zum Beispiel (2,15), (2,16) und (3,18) und passe das erwartete Ergebnis an. – jarlh

+0

Wie bist du auf @Ritesh Sharma gekommen? –

+0

Es hat funktioniert. Vielen Dank –

Antwort

1

verketten Felder in ein Einzelfeld ist in MySQL sehr einfach gemacht. Es gibt eine Funktion dafür. CONCAT(). Besser noch, wenn Sie und sie mit der gleichen Zeichenfolge abgrenzen möchten, können Sie CONCAT_WS() verwenden. welches mit Trennzeichen verkettet wird, wobei der erste Parameter das Trennzeichen und jedes andere Argument ist, nachdem es ein Feld ist, dem Sie beitreten möchten.

http://www.w3resource.com/mysql/string-functions/mysql-concat_ws-function.php

SELECT id, CONCAT_WS(' ', marks1, marks2, marks3) as 'mark1 | mark2 | mark3' from my_table group by id; 

UPDATE

Ich glaube, ich Ihr Schema-Struktur falsch verstanden. Ich denke, was Sie eigentlich suchen, ist GROUP_CONCAT().

http://www.w3resource.com/mysql/aggregate-functions-and-grouping/aggregate-functions-and-grouping-group_concat.php

SELECT id, GROUP_CONCAT(marks) as 'All Marks' from my_table group by id; 
Verwandte Themen