Mysql
 sql >> Base de données >  >> RDS >> Mysql

GROUP_CONCAT modifier la commande GROUP BY

Oui, c'est normal.

Vous ne devez jamais vous fier à l'ordre dans lequel les champs non groupés et non agrégés sont renvoyés.

GROUP_CONCAT a son propre ORDER BY clause que l'optimiseur prend en compte et peut modifier l'ordre dans lequel il parse les enregistrements.

Pour renvoyer le premier enregistrement avec GROUP_CONCAT , utilisez ceci :

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