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

Comment définir une commande ORDER BY personnalisée dans mySQL

MySQL a une fonction pratique appelée FIELD() ce qui est excellent pour des tâches comme celle-ci.

ORDER BY FIELD(Language,'ENU','JPN','DAN'), ID

Notez cependant que

  1. Cela rend votre SQL moins portable, car d'autres SGBD pourraient ne pas avoir une telle fonction

  2. Lorsque votre liste de langues (ou d'autres valeurs à trier) devient beaucoup plus longue, il est préférable d'avoir une table séparée avec une colonne sortorder pour elles, et de la joindre à vos requêtes pour la commande.