Este enfoque está disponible en SQL Server 2000, puede seleccionar valores distintos de una tabla y ordenar por columna diferente que no está incluido en Distinct. Pero en SQL 2012, esto generará un error "Los artículos ORDER BY deben aparecer en la lista de selección si se especifica SELECT DISTINCT".
Por lo tanto, si desea utilizar la misma función que SQL 2000, puede utilizar el número de columna para realizar el pedido (no se recomienda en la práctica recomendada).
select distinct(n_num) from abc_test order by 1
Esto pedirá la primera columna después de obtener el resultado. Si desea que el pedido se haga en base a una columna distinta de distinta, entonces debe agregar esa columna también en la instrucción de selección y usar el número de columna para ordenar.
select distinct(n_num), k_str from abc_test order by 2
Podría mostrar los resultados si ejecuta estas dos consultas? La primera consulta debería devolver el error 'ORA-01791: no una expresión SELECCIONADA' ya que no se está seleccionando la columna' k_str'. ¿Es esta la consulta real que ejecutó? (Puede ser aceptable en 9i, pero no estoy seguro). –
Mismo efecto en SQL Server pero con un mensaje de error más descriptivo, "ORDER BY debe aparecer en la lista de selección si se especifica SELECT DISTINCT". – onedaywhen