Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL - Valeurs ORDER BY dans IN()

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

Le CHAMP La fonction renvoie la position de la première chaîne dans la liste de chaînes restante.

Cependant, il est beaucoup plus performant d'avoir une colonne indexée qui représente votre ordre de tri, puis de trier par cette colonne.