Hola Ramón...
En tu post no nos dices con qué BD estás trabajando, por lo tanto no es posible darte una respuesta puntual. Tienes que recordar que aunque la sintaxis entre los DBMS es parecida, NO ES LA MISMA, también las funciones que poseen cada uno de ellos pueden facilitar o complicar lo que estás tratando de hacer... por lo pronto te dejo la lógica de cómo sería con MySQL. Si no utilizas esta BD sería cuestión de que trates de encontrar un equivalente...
Para el ejercicio en realidad se me ocurren dos maneras muy parecidas para ordenar los datos, la primera sería simplemente determinando si el campo contiene solo números o contiene alguna letra... de esta manera, puedes indicarle al motor de BD que ordene primero aquellos que contengan sólo números y después el resto... Dependiendo de la BD que estés utilizando, puede tener alguna función que te ayude a hacer esto, por eso comenté al principio que es muy importante que nos digas con qué estás trabajando.
Otra manera en que puedes resolver el problema es simplemente determinando si el campo contiene la palabra 'CV', y de esa manera volver a jerarquizar la ordenación... En MySQL sería así:
Observa que al utilizar REGEXP (expresión regular) puedes determinar si el campo contiene sólo números o no... por su parte con la función INSTR puedes determinar si el campo contiene la cadena CV o no... de tal manera, que con esta información, tu podrías hacer el ORDER BY así:
Observa que en el ORDER BY utilizo REGEXP o INSTR como primer criterio de ordenación, y después coloco el campo como tal... Te repito, esta sería una manera de hacerlo con MySQL, trata de obtener el equivalente para la BD que estés utilizando.
Saludos
Leo.