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

Problème de concaténation des lignes avec des doublons

Vous ne pouvez pas utiliser * car cela produit une mauvaise agrégation dans mysql pour la version <5.7

essayez d'utiliser le nom de colonne explicite dans select

SELECT computer.ID, group_concat(HardDisk.Id) my_disk
from Computer
inner join HardDisk on Computer.Id = HardDisk.ComputerId
group by Computer.Id 

si vous avez besoin de plus de colonnes non liées au même niveau d'agrégation, vous avez besoin d'une jointure

Dans la version mysql <5.7, si certaines colonnes mentionnées dans la clause select ne sont pas correctement mentionnées dans le groupe par la fonction d'agrégation, renvoie la première occurrence de la sélection et non le résultat agrégé correct

essayez d'ajouter

 echo  $row['my_disk];