Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

ORA-00979:bukan ekspresi GROUP BY ketika saya menjalankan sql saya

Masalahnya adalah Anda memesan berdasarkan sesuatu yang tidak ada dalam group by klausa.

Misalnya, ini berfungsi

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

Jika Anda order by kolom yang tidak ada dalam group by klausa:

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

Jika Anda mengedit group by klausa untuk menangani kolom yang Anda butuhkan dalam 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. CASE WHEN dalam klausa WHERE gagal dengan kesalahan kata kunci yang hilang

  2. PHP ORA-01745:nama variabel host/bind tidak valid Peringatan

  3. Kueri SQL untuk menemukan baris dengan setidaknya satu dari nilai yang ditentukan

  4. Permintaan Oracle PL/SQL tidak dapat dikompilasi

  5. Optimalisasi saat menggabungkan dari datalink Oracle