Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Verschachtelte Aggregatfunktionen

Oracle erlaubt verschachtelte Aggregationsfunktionen (siehe Dokumentation ). ).

Es erfordert jedoch ein GROUP BY . Das ist also erlaubt:

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

Im Grunde ist dies eine Abkürzung für:

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

In Ihrem Fall gibt es jedoch kein GROUP BY . Oracle erlaubt kein verschachteltes GROUP BY ohne GROUP BY .

Und falls Sie neugierig sind, ich bin kein Fan dieser erweiterten Funktionalität. Ich sehe nicht, dass es tatsächlich ein Problem löst.