sql >> Base de Datos >  >> RDS >> Mysql

GROUP_CONCAT cambiar GROUP BY orden

Sí, es normal.

Nunca debe confiar en el orden en que se devuelven los campos sin agrupar y sin agregar.

GROUP_CONCAT tiene su propio ORDER BY cláusula que el optimizador tiene en cuenta y puede cambiar el orden en que se analizan los registros.

Para devolver el primer registro junto con GROUP_CONCAT , usa esto:

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