Oracle
 sql >> база данни >  >> RDS >> Oracle

ORA-00979:не е израз GROUP BY, когато изпълнявам своя sql

Проблемът е, че поръчвате по нещо, което не е във вашата group by клауза.

Например, това работи

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

Ако order by колона, която не е във вашата group by клауза:

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

Ако редактирате group by клауза за обработка на колоната, от която се нуждаете в 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>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Получаване на допълнителни редове - След присъединяване към 3-те маси с помощта на Left Join

  2. Възможно ли е да се убие една заявка в oracle, без да се убива сесията?

  3. c# прочете SQL таблица (със специални знаци) в DataSet

  4. Свързваща променлива към името на таблицата с cx_Oracle

  5. Множество бази данни с леко променящи се модели. Как да позволя на Entity Framework да премахва колони по време на изпълнение?