АГРЕГАТЫ ПОСТРОЕННЫЕ НА СКАЛЯРНОМ ВЫРАЖЕНИИ
До этого, вы использовали агрегатные функции с одиночными полями как аргументами. Вы можете также использовать
агрегатные функции с аргументами которые состоят из скалярных выражений включающих одно или более полей.
( Если вы это делаете, DISTINCT не разрешается. ) Предположим, что таблица Порядков имеет еще один столбец
который хранит предыдущий неуплаченый баланс (поле blnc) для каждого заказчика. Вы должны найти этот текущий
баланс, добавлением суммы приобретений к предыдущему балансу. Вы можете найти наибольший неуплаченый баланс
следующим образом: SELECT MAX ( blnc + (amt) ) FROM Orders; Для каждой строки таблицы, этот запрос будет
складывать blnc и amt для этого заказчика и выбирать самое большое значение которое он найдет. Конечно, пока
заказчики могут иметь многочисленые порядки, их неуплаченый баланс оценивается отдельно для каждого порядка.
Возможно, порядок с более поздней датой будет иметь самый большой неуплаченый баланс. Иначе, старый баланс
должен быть выбран как в запросе выше. Фактически, имеются большое количество ситуаций в SQL где вы можете
использовать скалярные выражения с полями или вместо полей, как вы увидете это позже.