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

ORDER BY personnalisé pour ignorer 'le'

Le mieux est d'avoir une colonne calculée pour ce faire, afin que vous puissiez indexer la colonne calculée et l'ordonner. Sinon, le tri demandera beaucoup de travail.

Ainsi, vous pouvez avoir votre colonne calculée comme :

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

Modifier :si STUFF n'est pas disponible dans MySQL, utilisez RIGHT ou SUBSTRING pour supprimer les 4 premiers caractères. Mais essayez toujours d'utiliser une colonne calculée si possible, afin que l'indexation puisse être meilleure. La même logique devrait être applicable pour extraire "A" et "An".

Rob