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

Brugerdefineret ORDER BY for at ignorere 'den'

Det bedste er at have en beregnet kolonne til at gøre dette, så du kan indeksere den beregnede kolonne og bestille efter det. Ellers vil den slags være meget arbejde.

Så kan du få din beregnede kolonne som:

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

Rediger:Hvis TING ikke er tilgængeligt i MySQL, skal du bruge HØJRE eller SUBSTRING for at fjerne de 4 foranstående tegn. Men prøv stadig at bruge en beregnet kolonne, hvis det er muligt, så indekseringen kan blive bedre. Den samme logik burde være anvendelig til at rippe "A" og "An" ud.

Rob



  1. Sådan opretter du en bruger og giver tilladelser i Oracle

  2. Import af filer i Oracle Apex ved hjælp af wwv_flow_files

  3. Oracle svarende til Postgres' DISTINCT ON?

  4. Hvordan konfigureres Hibernate til at læse/skrive til forskellige datakilder?