Podrías hacer esto:
ORDER BY IF(SUBSTRING(name, 1, 14) = 'University of ', SUBSTRING(name, 15), name)
Podría ser una buena idea crear una vista sobre esta tabla que proyecte un name_value extra columna establecida en IF() expresión anterior. Luego puede ordenar por esta columna y seleccionarla sin tener que contaminar sus consultas con IF() .
Vista de ejemplo, asumiendo que el nombre de la universidad está almacenado en la columna 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;
Luego puede seleccionar entre Universities de la misma manera que lo hace desde list_universities , excepto que tendrá un name_value extra columna que puede seleccionar, ordenar o lo que sea.
Tenga en cuenta que este enfoque (así como ORDER BY IF(...) ) no podrá usar ningún índice en name para mejorar el rendimiento del género.