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

MySQL – ORDER BY hodnot v IN()

SELECT id, name
FROM mytable
WHERE name IN ('B', 'A', 'D', 'E', 'C')
ORDER BY FIELD(name, 'B', 'A', 'D', 'E', 'C')

POLE funkce vrací pozici prvního řetězce ve zbývajícím seznamu řetězců.

Z hlediska výkonu je však mnohem lepší mít indexovaný sloupec, který představuje vaše pořadí řazení, a poté třídit podle tohoto sloupce.



  1. Jak optimalizovat výkon MySQL pomocí MySQLTuner

  2. 3 způsoby, jak zkontrolovat datový typ sloupce v PostgreSQL

  3. Zkopírujte několik sloupců souboru csv do tabulky

  4. SQLite nemůže otevřít soubor databáze (kód 14) při častém dotazu SELECT