sql >> Databáze >  >> RDS >> Oracle

ORA-00979:není výraz GROUP BY, když spouštím svůj sql

Problém je v tom, že objednáváte podle něčeho, co není ve vaší group by klauzule.

Například toto funguje

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

Pokud order by sloupec, který není ve vaší group by klauzule:

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

Pokud upravíte group by klauzule pro zpracování sloupce, který potřebujete v 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. Jak přidat pořadové číslo pro každý prvek ve skupině pomocí dotazu SQL bez dočasných tabulek

  2. Operátor nerovnosti Oracle:¬=

  3. PostgreSQL:výkon select null vs false

  4. chyba node-postgres $1 IS NULL