sql >> Databasteknik >  >> RDS >> Mysql

MySQL - ORDER BY-värden inom IN()

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

FIELD funktion returnerar positionen för den första strängen i den återstående listan med strängar.

Det är dock mycket bättre prestandamässigt att ha en indexerad kolumn som representerar din sorteringsordning och sedan sortera efter denna kolumn.



  1. Hur anger man ett portnummer i SQL Server-anslutningssträngen?

  2. Intel Xeon skalbara processorer och SQL Server 2017

  3. Så här fixar du "Server är inte konfigurerad för RPC" Msg 7411 med T-SQL

  4. Indexering ando:GIN-index