Como? em caso de duplicidade, pegar apenas o primeiro encontrado

Prezados, bom dia!
Vejam só

a consulta que faço me da esse resultado:

O resultado esta correto, até certo ponto. Ele duplica o incident_id quando este registro tem mais de uma ação ( houve ações nas linhas 3 e 5), assim, gostaria fazer o select onde, caso houvesse mais de uma ação, me retornasse apenas a primeira ação daquele registro, e os demais conforme exibidos.

Na clausula where eu nao posso informar o numero da linha, pois a linha varia de acordo com o momento da ação. Então nunca sera um numero fixo. E o distinct no campo incident_id tambem não funciona.

E agora, quem poderá me ajudar? Agradeço toda a ajuda!

uma das formas possíveis seria:

select a.incident_id
,         a.dtacao
,         a.dptacao
,         a.deptatribui
,         a.totaltempo
,         a.linha
from acao a
where a.linha = (select min(b.linha)
                     from acao b
                     where b.incident_id = a.incident_id)
1 curtida

Muitíssimo obrigado, Ademilton!

Resolveu!

apenas para complementar, há alternativas mais performáticas do que isso. Veja uma explicação aqui por exemplo: funções analiticas oracle

Obrigado! Será muito útil.