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

Заявката, използваща group_concat, връща само един ред

Тъй като не сте използвали GROUP BY клауза във вашата заявка. Когато използвате агрегатни функции като GROUP_CONCAT трябва да кажете на базата данни за колоната, с която искате да се комбинират вашите данни.

В момента вашата заявка групира всички записи и дава 1 запис в изхода.

Ако добавите GROUP BY users.userid в заявката, тогава записите ще бъдат групирани по уникални потребителски идентификатори. Актуализирах вашата цигулка и тя вече дава 2 записа:http://www.sqlfiddle. com/#!2/867f6/18

Моля, обърнете внимание:В стандартните SQL заявки колоните, изброени в клаузата GROUP BY, трябва да съвпадат с колоната в клаузата SELECT (с изключение на агрегатните функции).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как работи функцията LOWER() в MySQL

  2. NHibernate / MySQL конкатенация на низове

  3. Как да групирате данни от масив, върнати от заявка за ляво присъединяване в php?

  4. MAX() срещу GREATEST() в MySQL:Каква е разликата?

  5. крайните нули не влизат в базата данни