Oracle
 sql >> Baza danych >  >> RDS >> Oracle

ORA-00979:nie jest wyrażeniem GROUP BY podczas wykonywania mojego sql

Problem polega na tym, że zamawiasz przez coś, czego nie ma w Twojej group by klauzula.

Na przykład to działa

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

Jeśli order by kolumna, która nie znajduje się w Twojej group by klauzula:

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

Jeśli edytujesz group by klauzula do obsługi potrzebnej kolumny w 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. Jak mogę skonfigurować lokalizację mojego pliku tnsnames Oracle?

  2. Rekurencja w zapytaniu do bazy danych w celu uzyskania wyniku hierarchicznego za pomocą Hibernate - Java

  3. Globalne tabele temp — SQL Server vs Oracle

  4. Wyciąg Oracle XMLTYPE na podstawie wartości i warunku

  5. SQL:trzeba usunąć zduplikowane wiersze w zapytaniu