Mysql
 sql >> Database >  >> RDS >> Mysql

Come definire un ordine ORDER BY personalizzato in MySQL

MySQL ha una pratica funzione chiamata FIELD() che è eccellente per compiti come questo.

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

Si noti tuttavia che

  1. Rende il tuo SQL meno portabile, poiché altri DBMS potrebbero non avere tale funzione

  2. Quando il tuo elenco di lingue (o altri valori in base a cui ordinare) diventa molto più lungo, è meglio avere una tabella separata con una colonna di ordinamento per loro e unirla alle tue query per l'ordine.