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

Como definir uma ordem ORDER BY personalizada no mySQL


O MySQL tem uma função útil chamada FIELD() o que é excelente para tarefas como esta.

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

Observe, no entanto, que

  1. Isso torna seu SQL menos portátil, pois outros SGBDs podem não ter essa função

  2. Quando sua lista de idiomas (ou outros valores para classificar) fica muito maior, é melhor ter uma tabela separada com coluna de ordem de classificação para eles e juntá-la às suas consultas para ordenação.