sql >> Databasteknik >  >> RDS >> Mysql

MySQL visar resultat i alfabetisk ordning men visar ett visst objekt före den alfabetiskt sorterade listan

gör bara en villkorlig order genom att med ett fall uttalande som så

FRÅGA:

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

EDIT:

om du vill beställa efter flera fält först och sedan resten kan du göra så här.

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. MySQL kopiera flera rader värden med samma ID till nya kolumner?

  2. Hur testar man en Oracle Stored Procedure med RefCursor returtyp?

  3. Oracle-partition efter nyckelord

  4. Två tabeller med samma kolumner eller en tabell med ytterligare kolumn?