Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Porządkowanie MySQL group_concat() według wartości instrukcji case

Możesz to zrobić, zamawiając według pozycji kolumny zamiast nazwa kolumny .

W Twoim przypadku ORDER BY 1 powinien działać.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dlaczego PDO::lastInsertId zwraca 0?

  2. Eksportuj listę ładnych permalinków i tytuł posta

  3. Pokaż postęp wypełniania DataSet z MySQL

  4. emulowane przygotowane zestawienia vs rzeczywiste przygotowane zestawienia

  5. Jakie jest domyślne zachowanie MySQL podczas ON DELETE?