Oracle
 sql >> Datenbank >  >> RDS >> Oracle

ORA-00979:kein GROUP BY-Ausdruck, wenn ich meine SQL ausführe

Das Problem ist, dass Sie nach etwas bestellen, das nicht in Ihrer group by ist Klausel.

Das funktioniert zum Beispiel

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

Wenn Sie order by eine Spalte, die sich nicht in Ihrem group by befindet Klausel:

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

Wenn Sie group by bearbeiten -Klausel, um die benötigte Spalte in order by zu behandeln :

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>