sql >> Database >  >> RDS >> Mysql

Problemen met het aaneenschakelen van rijen met duplicaten

U kunt * niet gebruiken omdat dit een verkeerde aggregatie oplevert in mysql voor versie <5.7

probeer de expliciete kolomnaam te gebruiken in select

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

als je meer kolommen nodig hebt die niet gerelateerd zijn aan hetzelfde aggregatieniveau, heb je een join nodig

In mysql-versie <5.7 als sommige kolommen die in de select-clausule worden genoemd niet correct in de groep worden vermeld door de aggregatiefunctie, retourneert u het eerste exemplaar van de select en niet het juiste geaggregeerde resultaat

probeer toe te voegen

 echo  $row['my_disk];



  1. Hoe leidende witruimte in SQL Server te verwijderen - LTRIM()

  2. Hoe kan ik wachtwoorden hashen in postgresql?

  3. De beste manier om MySQL te hosten op Azure Cloud

  4. De Chamilo MariaDB-database implementeren voor hoge beschikbaarheid