Porque você não usou o
GROUP BY
cláusula em sua consulta. Ao usar funções agregadas como GROUP_CONCAT
você precisa informar ao banco de dados sobre a coluna usando a qual deseja que seus dados sejam combinados. Atualmente sua consulta está agrupando todos os registros e dando 1 registro na saída.
Se você adicionar
GROUP BY users.userid
na consulta, os registros serão agrupados por IDs de usuário exclusivos. Atualizei seu violino e agora ele fornece 2 registros:http://www.sqlfiddle. com/#!2/867f6/18
Observe:Em consultas SQL padrão, as colunas listadas na cláusula GROUP BY devem corresponder à coluna na cláusula SELECT (exceto as funções agregadas).