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

MySQL group_concat() tri par valeurs d'instruction de cas

Vous pouvez y parvenir en triant par position de colonne au lieu de nom de colonne .

Pour votre cas ORDER BY 1 devrait fonctionner.

SELECT 
  things.id
  ,group_concat(DISTINCT 
    CASE
    WHEN things.name <> 'United States' THEN 'Non-US'
    WHEN things.name IS NULL THEN 'Unknown'
    ELSE things.name
    END
  ORDER BY 1 SEPARATOR ', ')
FROM things
GROUP BY things.id