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

ORA-00979 bukan grup dengan ekspresi

Anda harus meletakkan semua kolom SELECT di GROUP BY atau gunakan fungsi di dalamnya yang mengompresi hasil menjadi satu nilai (seperti MIN , MAX atau SUM ).

Contoh sederhana untuk memahami mengapa ini terjadi:Bayangkan Anda memiliki database seperti ini:

FOO BAR
0   A
0   B

dan Anda menjalankan SELECT * FROM table GROUP BY foo . Ini berarti database harus mengembalikan satu baris sebagai hasil dengan kolom pertama 0 untuk memenuhi GROUP BY tetapi sekarang ada dua nilai bar untuk memilih dari. Hasil mana yang Anda harapkan - A atau B ? Atau jika database mengembalikan lebih dari satu baris, melanggar kontrak GROUP BY ?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Masalah saat membandingkan hasil to_char(myDate, 'DAY') dengan string

  2. Oracle tertinggal antara komit dan pilih

  3. Oracle PLS-00363:ekspresi '' tidak dapat digunakan sebagai target penugasan

  4. Permintaan ditetapkan di Manajer Bersama

  5. Bagaimana tanggal disimpan di Oracle?