Oracle
 sql >> Database >  >> RDS >> Oracle

ORA-00979:non un'espressione GROUP BY quando eseguo il mio sql

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>