Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Kustom ORDER BY untuk mengabaikan 'the'

Yang terbaik adalah memiliki kolom yang dihitung untuk melakukan ini, sehingga Anda dapat mengindeks kolom yang dihitung dan memesannya. Jika tidak, penyortiran akan memakan banyak pekerjaan.

Jadi Anda dapat memiliki kolom yang dihitung sebagai:

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

Sunting:Jika STUFF tidak tersedia di MySQL, gunakan KANAN atau SUBSTRING untuk menghapus 4 karakter utama. Tapi tetap mencoba menggunakan kolom yang dihitung jika memungkinkan, agar pengindeksan bisa lebih baik. Logika yang sama harus diterapkan untuk merobek "A" dan "An".

Rob



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Meningkatkan MySQL 5.5 ke 5.6 di Ubuntu 14.04

  2. Satu ke Banyak MySQL

  3. Bukan tabel/alias unik

  4. Perbedaan antara MySql dan MySqli di PHP

  5. Butuh bantuan untuk unpivot di mysql dengan beberapa kolom tanggal