sql >> Databasteknik >  >> RDS >> Mysql

Anpassad ORDER BY för att ignorera "the"

Det bästa är att ha en beräknad kolumn för att göra detta, så att du kan indexera den beräknade kolumnen och ordna efter det. Annars blir det mycket jobb.

Så då kan du ha din beräknade kolumn som:

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

Redigera:Om STUFF inte är tillgängligt i MySQL, använd HÖGER eller SUBSTRING för att ta bort de fyra inledande tecknen. Men försök ändå använda en beräknad kolumn om möjligt, så att indexeringen kan bli bättre. Samma logik bör vara tillämplig för att riva ut "A " och "An ".

Rob



  1. PgBouncer 1.7 – "Färger varierar efter uppståndelse"

  2. Duplicera en MySQL-tabell, index och data

  3. SQL-anslutning med offentlig IP, namngiven instans och portnummer

  4. Ansluter till en mySQL-databas med asp.net