sql >> Databasteknik >  >> RDS >> Mysql

Utfärda sammanlänkning av rader med dubbletter

Du kan inte använda * eftersom detta ger en felaktig aggregering i mysql för version <5.7

försök använda explicit kolumns namn i select

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

om du behöver fler kolumner som inte är relaterade till samma aggregeringsnivå behöver du en join

I mysql version <5.7, om några kolumner som nämns i select-satsen inte nämns korrekt i grupp av aggregeringsfunktionen returnerar den första förekomsten av select och inte det korrekta aggregerade resultatet

försök lägga till

 echo  $row['my_disk];



  1. CTE och födelsedagsparadoxen

  2. Felkod:1215. Kan inte lägga till begränsning av främmande nyckel (främmande nycklar)

  3. Hur lägger jag till en auto_increment-primärnyckel i SQL Server-databasen?

  4. Hur SUBDATE() fungerar i MariaDB