Агрегатна функція від агрегатної функції, Інтерактивний підручник з SQL
Давайте розглянемо таке завдання:
Знайти максимальне значення серед середніх цін ПК, порахованих кожного виробника окремо.
Порахувати середні значення вартості за виробниками праці не становить:

Проте стандарт забороняє використовувати підзапит як аргумент агрегатної функції, тобто. не можна вирішити завдання в такий спосіб:

У подібних випадках використовується підзапит у пропозиції FROM:

За допомогою нових можливостей мови – віконних функцій – це завдання можна вирішити без підзапиту:

Зверніть увагу, що віконні функції допускають використання агрегатної функції як аргумент. Ключове слово DISTINCT необхідне тут, оскільки максимальне значення підраховане по всьому набору середніх значень буде «приписано» кожному виробнику.
Стандарт також забороняє використання агрегатної функції як аргумент іншої агрегатної функції. Тобто. ми не можемо вирішити наше завдання таким чином:
Але не буває правил без винятків. Як не дивно, але в Oracle подібні конструкції працюють, і наведений вище запит дасть результат: