Il problema è che stai ordinando per qualcosa che non è nel tuo group by
clausola.
Ad esempio, questo funziona
SQL> with testGroup as ( select 1 as one, 2 as two from dual)
2 select one
3 from testGroup
4 group by one;
ONE
----------
1
Se order by
una colonna che non è nel tuo group by
clausola:
SQL> with testGroup as ( select 1 as one, 2 as two from dual)
2 select one
3 from testGroup
4 group by two;
select one
*
ERROR at line 2:
ORA-00979: not a GROUP BY expression
Se modifichi il group by
clausola per gestire la colonna di cui hai bisogno in order by
:
SQL> with testGroup as ( select 1 as one, 2 as two from dual)
2 select one
3 from testGroup
4 group by one, two;
ONE
----------
1
SQL>