ФУНКЦИИ АГРЕГИРОВАНИЯ
Лекция 5. ИСПОЛЬЗОВАНИЕ АГРЕГАТНЫХ И СТАТИСТИЧЕСКИХ ФУНКЦИЙ В SQL
Запросы могут сообщать не только группы значений, но и значения одного поля. Для этого применяют агрегатные и статистические функции. Они дают единственное значение для целой группы строк таблицы.
Функции используются как имена полей в предложении SELECT. Аргументами функций являются поля.
Приведём список агрегатных функций:
1. COUNT – определяет количество строк или значений поля, выбранных посредством запроса и не являющихся пустыми значениями.
2. SUM – вычисляет арифметическую сумму всех выбранных значений данного поля.
3. AVG – вычисляет среднее значение для всех выбранных значений данного поля.
4. MAX – вычисляет наибольшее из всех выбранных значений.
5. MIN - вычисляет наименьшее из всех выбранных значений.
Для функций SUM и AVG аргументами могут быть только поля числового типа, а для остальных функций аргументы могут иметь числовой и символьный тип данных.
Рассмотри примеры.
Функция COUNT подсчитывает количество значений в данном столбце или количество строк в таблице. Когда подсчитывается значение по столбцу, в команде используется предикат DISTINCT для подсчёта числа различных значений.
Задача 1. Подсчитать количество различных строк в таблице Книги.
Решение: SELECT DISTINCT COUNT(Название) AS [Общее количество]
FROM Книги;
Задача 2. Найти общую стоимость книг под названием «Экономика».
Решение: SELECT SUM(Стоимость*Количество) AS [Общая стоимость]
FROM Книги WHERE Название='Экономика';
Задача 3. Найти самую дорогую книгу.
Решение: SELECT Название, MAX(Стоимость)
FROM Книги;
Задача 4. Найти среднее число книг, изданных издательством Питер, если его код равен 1.
Решение: SELECT AVG(Книги.Количество) AS [В среднем по Питеру]
FROM Книги WHERE (Книги.Издательство=1);
В SQL также используются функции для статистической обработки данных.
1. STDEV – оценивает стандартное отклонение выбранных значений по выборке для определённого поля запроса.
2. STDEVP – оценивает стандартное отклонение выбранных значений по совокупности для определённого поля.
3. VAR – оценивает дисперсию выбранных значений по выборке для определённого поля запроса.
4. VARP - оценивает дисперсию выбранных значений по совокупности для определённого поля запроса.
5. FIRST – определяет значение первой записи в выборке.
6. LAST - определяет значение последней записи в выборке.
Задача 5. Найдём сведения о первой книге изданной издательством «Просвещение», код которого равен 3.
Решение: SELECT FIRST(Название) AS Первая
FROM Книги WHERE [Издательство]=3;
Статистические функции имеют более узкие специализированное направление. Наиболее часто из них используются функции FIRST и LAST.