Функция row_number
может выполнять свою собственную агрегацию и упорядочение, поэтому нет необходимости использовать group by
или order by
в вашем подзапросе (order by
не будет работать в подзапросах, как вы видели).Немного неясно, хотите ли вы, однако, partition by
opp_id или opp_id и prj_id.Но это должно быть то, что вы ищете:
SELECT *
FROM(
SELECT OPP_ID,PRJ_ID,
ROW_NUMBER() OVER (PARTITION BY OPP_ID ORDER BY CREATION_DATE DESC) AS RN
FROM OPPOR
) OP
WHERE OP.RN = 1