sql >> Databasteknik >  >> RDS >> Mysql

MySQL group_concat() sortering efter fallsatsvärden

Du kan åstadkomma detta genom att beställa efter kolumnposition istället för kolumnnamn .

För ditt fall ORDER BY 1 borde fungera.

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


  1. java-app, tråden hänger sig efter att MySQL-anslutningen dödats

  2. Få maskinskrivna resultat från ActiveRecord rå SQL

  3. MySQL Batch öka värdet?

  4. Var ska jag lagra en främmande nyckel?