Унарные агрегатные функции
Например, AVG (среднее значение)
сфразой DISTINCT, примененная к значениям 1, 1, 1 и 3 выдаст 2, а
при наличии фразы ALL выдаст 1,5.
По умолчанию предполагается фраза
ALL.
Функция COUNT (1)
Имеет 2 формата:
COUNT(*)
COUNT([DISTINCT | ALL] выражение)
Запрос. Информация о скольких преподавателях имеется в базе данных?
SELECT COUNT(*) AS "Количество преподавателей"
FROM TEACHER;
Количество преподавателей
-------------------------
15
В простейший вариант использования COUNT – это подсчет количества всех строк в таблице или тех, которые удовлетворяют определенным условиям. В этом случае используется вариант COUNT(*). Отметим, что так в этом случае подсчитывается количество всех строк, то использование ключевых слов DISTINCT или ALL не допускается.
Функция COUNT (2)
Запрос. Сколько кафедр на факультете информатики?
SELECT COUNT(*) AS "Количество кафедр"
FROM FACULTY f, DEPARTMENT d
WHERE f.FacPK = d.FacFK AND LOWER(f.Name) = 'информатика';
Количество кафедр
-----------------
3
Функция COUNT (3)
Запрос. Сколько различных номеров телефонов содержится в таблице
TEACHER?
SELECT COUNT(DISTINCT Tel) AS
"Количество телефонов"
FROM TEACHER;
Количество телефонов
--------------------
4
Функция SUM (1)
Запрос. Какая суммарная ставка всех ассистентов?
SELECT SUM(Salary)
FROM TEACHER
WHERE LOWER(Post) = 'ассистент';
SUM(SALARY)
-----------
2200
Эта агрегатная функция подсчитывает сумму значений аргумента для всех строк входной таблицы. Аргумент должен иметь числовой тип или тип интервала. Допускается использовать ключевые слова DISTINCT и ALL. В качестве аргумента может выступать имя столбца или выражение над столбцами входной таблицы. Приведем примеры.