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

MySQL wyświetla wyniki w kolejności alfabetycznej, ale pokazuje konkretną pozycję przed posortowaną alfabetycznie listą

po prostu wykonaj warunkową kolejność za pomocą instrukcji case, takiej jak tak

ZAPYTANIE:

SELECT * 
FROM $tableName 
GROUP BY primary_category
ORDER BY 
    CASE primary_category WHEN 'USA' THEN 1 ELSE 2 END ASC,
    primary_category ASC

EDYTUJ:

jeśli chcesz najpierw uporządkować według wielu pól, a potem resztę, możesz to zrobić w ten sposób.

SELECT * 
FROM $tableName 
GROUP BY primary_category
ORDER BY 
    CASE primary_category 
      WHEN 'USA' THEN 1 --#-- 1 for usa
      WHEN 'China' THEN 2 --#-- 2 for china
      ELSE 3 END ASC, --#-- 3 for anything else
    primary_category ASC


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak pobrać dane z bazy danych za pomocą usług internetowych (JAX - RS) w eclipse za pomocą Javy?

  2. Znajdź odległość między dwoma punktami za pomocą szerokości i długości geograficznej w mysql

  3. Przy zamawianiu według daty opis, Użycie tymczasowego spowalnia zapytania

  4. Rows_sent:12 Rows_examined:549024 - jak zoptymalizować zapytanie mySQL?

  5. MySQL, Połącz dwie kolumny