Oracle
 sql >> база данни >  >> RDS >> Oracle

Вложени агрегатни функции

Oracle позволява вложени функции за агрегиране (вижте документацията ).

Той обаче изисква GROUP BY . Така че това е позволено:

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

По принцип това е пряк път за:

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

Във вашия случай обаче няма GROUP BY . Oracle не позволява вложени GROUP BY без 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. Защо получавам тази SQLSyntaxErrorException:ORA-00933:SQL командата не е приключила правилно, когато се опитам да изпълня тази JDBC заявка?

  2. Oracle sql обобщена таблица на заявки

  3. Получаване на допълнителни редове - След присъединяване към 3-те маси с помощта на Left Join

  4. Синтактична грешка. Липсваща ключова дума в оператора case в клаузата WHERE

  5. Oracle INSERT INTO SELECT(...) DUP_VAL_ON_INDEX поведение на изключение