Oracle
 sql >> Base de données >  >> RDS >> Oracle

ORA-00979 :pas une expression GROUP BY lorsque j'exécute mon sql

Le problème est que vous commandez par quelque chose qui n'est pas dans votre group by clause.

Par exemple, cela fonctionne

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

Si vous order by une colonne qui n'est pas dans votre group by clause :

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

Si vous modifiez le group by clause pour gérer la colonne dont vous avez besoin dans le 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>