Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL - valores ORDER BY dentro de IN()

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

O CAMPO A função retorna a posição da primeira string na lista restante de strings.

No entanto, é muito melhor em termos de desempenho ter uma coluna indexada que represente sua ordem de classificação e, em seguida, classificar por essa coluna.