Utilizar distinto en una columna y ordenar por otra columna da un error

Tengo una tabla: abc_test con columnas n_num, k_str.

Esta consulta no funciona:

    select distinct(n_num) from abc_test order by(k_str)

Pero este funciona:

    select n_num from abc_test order by(k_str)

¿Cómo funcionan internamente las palabras clave DISTINCT y ORDER BY para cambiar la salida de ambas consultas?

Respuestas a la pregunta(20)

Su respuesta a la pregunta