sql >> Databáze >  >> RDS >> Mysql

Dotaz pomocí group_concat vrací pouze jeden řádek

Protože jste nepoužili GROUP BY klauzule ve vašem dotazu. Při použití agregačních funkcí jako GROUP_CONCAT musíte databázi říci o sloupci, pomocí kterého chcete svá data kombinovat.

V současné době váš dotaz seskupuje všechny záznamy a ve výstupu dává 1 záznam.

Pokud přidáte GROUP BY users.userid v dotazu pak budou záznamy seskupeny podle jedinečných uživatelských id. Aktualizoval jsem vaše housle a nyní uvádí 2 záznamy:http://www.sqlfiddle. com/#!2/867f6/18

Poznámka:Ve standardních SQL dotazech by sloupce uvedené v klauzuli GROUP BY měly odpovídat sloupci v klauzuli SELECT (kromě agregačních funkcí).



  1. Mohu použít neagregované sloupce se skupinou podle?

  2. Jak určíte jiné číslo portu v SQL Management Studio?

  3. Jak srovnávat výkon MySQL pomocí SysBench

  4. jak opravit OperationalError:(psycopg2.OperationalError) server neočekávaně ukončil připojení