sql >> Databáze >  >> RDS >> Mysql

MySQL zobrazuje výsledky v abecedním pořadí, ale zobrazuje konkrétní položku před abecedně seřazeným seznamem

stačí provést podmíněný příkaz pomocí příkazu case, jako je to

QUERY:

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

UPRAVIT:

pokud chcete nejprve objednat podle více polí a poté zbytek, můžete to udělat takto.

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. Vytvořte tabulku v MySQL

  2. Měly by být sloupce VARCHAR umístěny na konec definic tabulek v MySQL?

  3. Použijte datum v buňce aplikace Excel v klauzuli BETWEEN v dotazu SQL

  4. Dotaz MySQL s aliasem, který nepoužívá index