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

Các hàm tổng hợp lồng nhau

Oracle cho phép các hàm tổng hợp lồng nhau (xem tài liệu ).

Tuy nhiên, nó yêu cầu GROUP BY . Vì vậy, điều này được cho phép:

SELECT MAX(AVG(SYSDATE - inv_date))
FROM invoice
GROUP BY Cust_ID;

Về cơ bản, đây là cách viết tắt của:

SELECT MAX(x)
FROM (SELECT AVG(SYSDATE - inv_date) as x
      FROM invoice
       GROUP BY Cust_Id
     ) i;

Tuy nhiên, trong trường hợp của bạn, không có GROUP BY . Oracle không cho phép GROUP BY lồng nhau không có GROUP BY .

Và nếu bạn tò mò, tôi không phải là một fan hâm mộ của chức năng mở rộng này. Tôi không thấy rằng nó thực sự giải quyết được vấn đề.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL - hai tháng kể từ ngày hôm nay trong Oracle

  2. DBMS_METADATA và các gói khác không hợp lệ

  3. Cách thiết lập OTA trong R12 và 11i

  4. XMLtable với Oracle 11g

  5. Hàm Oracle biên dịch thành công nhưng ném lỗi khi thực thi PLS-00221:không phải là một thủ tục hoặc không được xác định