¿El equivalente en Oracle de DISTINCT ON de Postgres?

En postgres, puede consultar el primer valor de en un grupo conDISTINCT ON. ¿Cómo se puede lograr esto en Oracle?

Desde el manual de postgres:

SELECT DISTINCT ON (expresión [, ...]) mantiene solo la primera fila de cada conjunto de filas donde las expresiones dadas se evalúan como iguales. Las expresiones DISTINCT ON se interpretan usando las mismas reglas que para ORDER BY (ver arriba). Tenga en cuenta que la "primera fila" de cada conjunto es impredecible a menos que se use ORDER BY para garantizar que la fila deseada aparezca primero.

Por ejemplo, para una tabla dada:

<code> col1 | col2 
------+------
 A    | AB
 A    | AD
 A    | BC
 B    | AN
 B    | BA
 C    | AC
 C    | CC
</code>

Tipo ascendente

<code>> select distinct on(col1) col1, col2 from tmp order by col1, col2 asc;
 col1 | col2 
------+------
 A    | AB
 B    | AN
 C    | AC
</code>

Orden descendente

<code>> select distinct on(col1) col1, col2 from tmp order by col1, col2 desc;
 col1 | col2 
------+------
 A    | BC
 B    | BA
 C    | CC
</code>

Respuestas a la pregunta(2)

Su respuesta a la pregunta