Mysql
 sql >> Database >  >> RDS >> Mysql

La query che utilizza group_concat restituisce solo una riga

Perché non hai utilizzato il GROUP BY clausola nella tua query. Quando si utilizzano funzioni aggregate come GROUP_CONCAT devi comunicare al database la colonna con cui desideri che i tuoi dati vengano combinati.

Attualmente la tua query sta raggruppando tutti i record e fornisce 1 record nell'output.

Se aggiungi GROUP BY users.userid nella query i record verranno raggruppati per ID utente univoci. Ho aggiornato il tuo violino e ora fornisce 2 record:http://www.sqlfiddle. com/#!2/867f6/18

Nota:nelle query SQL standard, le colonne elencate nella clausola GROUP BY devono corrispondere alla colonna nella clausola SELECT (tranne le funzioni di aggregazione).