Não faz sentido incluir colunas que não fazem parte da cláusula GROUP BY. Considere se você tiver um MIN(X), MAX(Y) na cláusula SELECT, de qual linha as outras colunas (não agrupadas) devem vir?
Se sua versão do Oracle for recente o suficiente, você pode usar SUM - OVER() para mostrar o SUM (agrupado) em cada linha de dados.
SELECT
IMPORTID,Site,Desk,Region,RefObligor,
SUM(NOTIONAL) OVER(PARTITION BY IMPORTID, Region,RefObligor) AS SUM_NOTIONAL
From
Positions
Where
ID = :importID
Order BY
IMPORTID,Region,Site,Desk,RefObligor
Alternativamente, você precisa fazer um agregado do
Site
, Desk
colunas SELECT
IMPORTID,Region,Min(Site) Site, Min(Desk) Desk,RefObligor,SUM(NOTIONAL) AS SUM_NOTIONAL
From
Positions
Where
ID = :importID
GROUP BY
IMPORTID, Region,RefObligor
Order BY
IMPORTID, Region,Min(Site),Min(Desk),RefObligor