Sim, é normal.
Você não deve confiar, nunca, na ordem em que os campos desagrupados e desagregados são retornados.
GROUP_CONCAT
tem seu próprio ORDER BY
cláusula que o otimizador leva em consideração e pode alterar a ordem em que analisa os registros. Para retornar o primeiro registro junto com
GROUP_CONCAT
, usa isto:SELECT m.*, gc
FROM (
SELECT id, MIN(date) AS mindate, GROUP_CONCAT(tags) AS gc
FROM myview
GROUP BY
id
) md
JOIN m.*
ON m.id = md.id
AND m.date = md.mindate