Oracle
 sql >> Database >  >> RDS >> Oracle

Funzioni aggregate nidificate

Oracle consente funzioni di aggregazione nidificate (consultare la documentazione ).

Tuttavia, richiede un GROUP BY . Quindi questo è consentito:

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

Fondamentalmente, questa è una scorciatoia per:

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

Nel tuo caso, però, non esiste GROUP BY . Oracle non consente GROUP BY nidificato senza il GROUP BY .

E se sei curioso, non sono un fan di questa funzionalità estesa. Non vedo che in realtà risolva un problema.