Anda bisa melakukan ini:
ORDER BY IF(SUBSTRING(name, 1, 14) = 'University of ', SUBSTRING(name, 15), name)
Mungkin ide yang baik untuk membuat tampilan di atas tabel ini yang memproyeksikan name_value tambahan kolom diatur ke IF() ekspresi di atas. Kemudian Anda dapat memesan berdasarkan kolom ini dan memilihnya tanpa harus mengotori kueri Anda dengan IF() .
Contoh tampilan, dengan asumsi nama universitas disimpan di kolom name :
CREATE VIEW Universities AS
SELECT
list_universities.*,
IF(SUBSTRING(name, 1, 14) = 'University of ',
SUBSTRING(name, 15),
name) AS name_value
FROM list_universities;
Kemudian Anda dapat memilih dari Universities cara yang sama yang Anda lakukan dari list_universities , kecuali itu akan memiliki name_value tambahan kolom yang dapat Anda pilih, atau pesan berdasarkan, atau apa pun.
Perhatikan bahwa pendekatan ini (serta ORDER BY IF(...) ) tidak akan dapat menggunakan indeks apa pun di name untuk meningkatkan kinerja semacam itu.