Ja, het is normaal.
U mag nooit vertrouwen op de volgorde waarin niet-gegroepeerde en niet-geaggregeerde velden worden geretourneerd.
GROUP_CONCAT
heeft zijn eigen ORDER BY
clausule waarmee de optimizer rekening houdt en de volgorde kan wijzigen waarin de records worden geparseerd.
Het eerste record samen met GROUP_CONCAT
teruggeven , gebruik dit:
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