Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

ORA-00979 không phải là một nhóm theo biểu thức

Bạn phải đặt tất cả các cột của SELECT trong GROUP BY hoặc sử dụng các hàm trên chúng để nén kết quả thành một giá trị duy nhất (như MIN , MAX hoặc SUM ).

Một ví dụ đơn giản để hiểu tại sao điều này xảy ra:Hãy tưởng tượng bạn có một cơ sở dữ liệu như thế này:

FOO BAR
0   A
0   B

và bạn chạy SELECT * FROM table GROUP BY foo . Điều này có nghĩa là cơ sở dữ liệu phải trả về một hàng duy nhất với cột đầu tiên 0 để hoàn thành GROUP BY nhưng bây giờ có hai giá trị của bar để chọn từ. Bạn mong đợi kết quả nào - A hoặc B ? Hoặc cơ sở dữ liệu phải trả về nhiều hơn một hàng, vi phạm hợp đồng của 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. Lặp lại một Tập kết quả bằng JDBC cho Oracle mất rất nhiều thời gian khoảng 16 giây?

  2. Làm cách nào để chạy tệp .sql trong công cụ dành cho nhà phát triển Oracle SQL để nhập cơ sở dữ liệu?

  3. Thu thập hàng loạt vào và thực hiện ngay lập tức trong Oracle

  4. Cách thay đổi bảng thêm oracle cột

  5. Thêm tham số ngày vào truy vấn oracle