Lo que pides no tiene sentido...
Ordenar por ID y por tipo_rango son ordenamientos total y absolutamente incompatibles, al menos según se entiende en el ejemplo que nos estás mostrando.
Tienes que entender que los registros se ordenan como objetos completos, por lo que no puedes ordenar lo que aparece en una columna separadamente de lo que está en las otras. Con eso estarías mezclando datos de diferentes registros.
Por dar un ejemplo, el ID 3 en tu tabla de muestra inicial tiene como valor de tipo_rango el 3, por lo que no podría quedar jamás en el puesto 3, pasaría a ocupar el primer puesto del tercer grupo.
Esto es lo que tienes:
Y esto lo que quieres hacer:
Es obvio que el ultimo campo perdio su valor o lo cambio... Eso NO ES ordenar.