Mysql
 sql >> база данни >  >> RDS >> Mysql

Издаване на конкатенация на редове с дубликати

Не можете да използвате *, защото това води до грешно агрегиране в mysql за версия <5.7

опитайте да използвате изрично име на колона в select

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

ако имате нужда от повече колони, които не са свързани със същото ниво на агрегиране, имате нужда от присъединяване

Във версия на mysql <5.7, ако някои колони, споменати в клаузата за избор, не са споменати правилно в групата от функцията за агрегиране, връща първото появяване на избора, а не правилния обобщен резултат

опитайте да добавите

 echo  $row['my_disk];



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL външни ключове върху себе си

  2. Използва се COUNT в GROUP_CONCAT

  3. WooCommerce сериализира масив от мета стойности в таблицата wp_postmeta

  4. MySQL - Изберете ред, ако се появи повече от x пъти в друга таблица

  5. Мога ли да използвам VARCHAR като ПЪРВИЧЕН КЛЮЧ?