Mysql
 sql >> Database >  >> RDS >> Mysql

GROUP_CONCAT modifica GROUP BY ordine

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