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

ORDINA personalizzato per ignorare 'il'

La cosa migliore è avere una colonna calcolata per farlo, in modo da poter indicizzare la colonna calcolata e ordinare in base a quella. In caso contrario, l'ordinamento richiederà molto lavoro.

Quindi puoi avere la tua colonna calcolata come:

CASE WHEN title LIKE 'The %' THEN stuff(title,1,4,'') + ', The' ELSE title END

Modifica:se STUFF non è disponibile in MySQL, usa RIGHT o SUBSTRING per rimuovere i 4 caratteri iniziali. Ma prova comunque a utilizzare una colonna calcolata, se possibile, in modo che l'indicizzazione possa essere migliore. La stessa logica dovrebbe essere applicabile per estrarre "A" e "An".

Rob