Equivalente Oracle do DISTINCT ON do Postgres?

No postgres, você pode consultar o primeiro valor de um grupo comDISTINCT ON. Como isso pode ser alcançado no Oracle?

Do manual postgres:

SELECT DISTINCT ON (expressão [, ...]) mantém apenas a primeira linha de cada conjunto de linhas em que as expressões dadas são avaliadas como iguais. As expressões DISTINCT ON são interpretadas usando as mesmas regras de ORDER BY (veja acima). Observe que a "primeira linha" de cada conjunto é imprevisível, a menos que ORDER BY seja usado para garantir que a linha desejada apareça primeiro.

Por exemplo, para uma determinada tabela:

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

Ordenação ascendente:

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

Classificação descendente:

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

questionAnswers(2)

yourAnswerToTheQuestion