Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Benutzerdefiniertes ORDER BY zum Ignorieren von 'the'

Am besten verwenden Sie dazu eine berechnete Spalte, damit Sie die berechnete Spalte indizieren und danach sortieren können. Sonst macht das Sortieren viel Arbeit.

Dann können Sie Ihre berechnete Spalte haben als:

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

Bearbeiten:Wenn STUFF in MySQL nicht verfügbar ist, verwenden Sie RIGHT oder SUBSTRING, um die führenden 4 Zeichen zu entfernen. Versuchen Sie dennoch, wenn möglich, eine berechnete Spalte zu verwenden, damit die Indizierung besser ist. Dieselbe Logik sollte anwendbar sein, um "A" und "An" herauszureißen.

Rob