Tidak masuk akal untuk menyertakan kolom yang bukan bagian dari klausa GROUP BY. Pertimbangkan jika Anda memiliki MIN(X), MAX(Y) dalam klausa SELECT, dari baris mana kolom lain (tidak dikelompokkan) harus berasal?
Jika versi Oracle Anda cukup baru, Anda dapat menggunakan SUM - OVER() untuk menampilkan SUM (dikelompokkan) pada setiap baris data.
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
Atau, Anda perlu membuat agregat dari Site
, Desk
kolom
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