sql >> Database >  >> RDS >> Mysql

Custom ORDER BY om 'de' te negeren

Het beste is om hiervoor een berekende kolom te hebben, zodat u de berekende kolom kunt indexeren en daarop kunt ordenen. Anders wordt het een hoop werk.

Dus dan kun je je berekende kolom hebben als:

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

Bewerken:Als STUFF niet beschikbaar is in MySQL, gebruik dan RECHTS of SUBSTRING om de eerste 4 tekens te verwijderen. Maar probeer toch indien mogelijk een berekende kolom te gebruiken, zodat indexering beter kan. Dezelfde logica zou van toepassing moeten zijn om "A" en "An" eruit te halen.

Rob



  1. Hoe UTF-8-tekens weergeven in phpMyAdmin?

  2. Converteer door komma's gescheiden string naar array in PL/SQL

  3. Hoge beschikbaarheid beheren in PostgreSQL – Deel III:Patroni

  4. Oracle INSERT in twee tabellen in één query