В SQL имеется пять встроенных функций: COUNT, SUM, AVG, MAX и MIN. Они выполняют различные действия над результатами оператора SELECT. Функция COUNT работает вне зависимости от типа данных столбца, а функции SUM, AVG, МАХ и MIN оперируют только числовыми столбцами (Integer, Numeric и т.д.).
Функция COUNT подсчитывает количество строк в результате, а функция SUM вычисляет сумму значений числового столбца. Например, следующий SQL-оператор подсчитывает количество строк в таблице ARTIST:
SELECT COUNT(*) FROM ARTIST;
Результатом этого оператора является следующее отношение:
8
Как уже говорилось ранее, результатом SQL-оператора SELECT всегда является отношение. Если, как в данном случае, результат представляет собой одиночное число, это число все равно считается отношением, имеющим одну строку и один столбец.
Рассмотрим следующие два оператора:
SELECT COUNT(Nationality) FROM ARTIST;
и
SELECT COUNT(DISTINCT Nationality) FROM ARTIST;
Результатом первого оператора будет отношение
8
Результатом первого оператора будет отношение
5
Разница в ответах возникает потому, что второй оператор SELECT не учитывает повторяющиеся строки.
Вот еще один пример использования встроенных функций:
SELECT MIN(SalesPrice), MAX(SalesPrice), SUM(SalesPrice)
FROM TRANSACTION
WHERE TransactionID < 125;
Результатом будет следующая таблица:
9750 73500 165950
Кроме случая с использованием ключевых слов GROUP BY (см. далее), имена столбцов не могут смешиваться со встроенными функциями. Например, следующий оператор недопустим:
SELECT CustomerlD, SUM(SalesPrice)
FROM TRANSACTION
WHERE TransactionID < 125;
предыдущаяследующая