Ja, det är normalt.
Du bör aldrig förlita dig på i vilken ordning ogrupperade och oaggregerade fält returneras.
GROUP_CONCAT
har sin egen ORDER BY
klausul som optimeraren tar hänsyn till och kan ändra ordningen i vilken posterna analyseras.
För att returnera den första posten tillsammans med GROUP_CONCAT
, använd detta:
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