Sì, è normale.
Non dovresti mai fare affidamento sull'ordine in cui vengono restituiti i campi non raggruppati e non aggregati.
GROUP_CONCAT
ha il suo ORDER BY
clausola di cui l'ottimizzatore tiene conto e può modificare l'ordine in cui analizza i record.
Per restituire il primo record insieme a GROUP_CONCAT
, usa questo:
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