Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

ORA-00979:não é uma expressão GROUP BY quando executo meu sql


O problema é que você está pedindo por algo que não está no seu group by cláusula.

Por exemplo, isso funciona
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 você order by uma coluna que não está em seu group by cláusula:
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 você editar o group by cláusula para lidar com a coluna que você precisa no 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>