Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie gruppiere ich MySQL-Zeilen mit demselben Spaltenwert in einer Zeile?

Verwenden Sie GROUP_CONCAT() so:

 SELECT k.id, GROUP_CONCAT(d.value)
  FROM keywords AS k
  INNER JOIN data as d ON k.id = d.id
  GROUP BY k.id

Außerdem müssen Sie möglicherweise ORDER BY d.name ausführen um die genaue Reihenfolge der Werte wie gewünscht zu erhalten. So:

 SELECT k.id, GROUP_CONCAT(d.value ORDER BY d.name separator ' ')
  FROM keywords AS k
  INNER JOIN data as d ON k.id = d.id
  GROUP BY k.id