Oracle
 sql >> Base de données >  >> RDS >> Oracle

Fonctions d'agrégation imbriquées

Oracle autorise les fonctions d'agrégation imbriquées (voir la documentation ).

Cependant, il nécessite un GROUP BY . Donc c'est autorisé :

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

En gros, c'est un raccourci pour :

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

Dans votre cas, cependant, il n'y a pas de GROUP BY . Oracle n'autorise pas les GROUP BY imbriqués sans le GROUP BY .

Et si vous êtes curieux, je ne suis pas fan de cette fonctionnalité étendue. Je ne vois pas si cela résout réellement un problème.