Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment regrouper les lignes mysql avec la même valeur de colonne en une seule ligne ?

Utilisez GROUP_CONCAT() comme ceci :

 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

De plus, vous devrez peut-être faire ORDER BY d.name pour obtenir l'ordre exact des valeurs comme vous le souhaitez. Comme ceci :

 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