только по тем строкам, которые удовлетворяют условию отбора.
Например, запросвычисляет общую сумму заказов клиента с идентификатором 533 (табл. 3.25). Таблица 3.25. Результат выполнения запроса
Далее мы рассмотрим функцию вычисления среднего значения.
AVG()Данная функция возвращает среднее арифметическое значений в столбце (сумму значений, деленную на количество значений). Неопределенные значения при этом не учитываются. Если в запросе вы укажете какое-либо условие отбора, то суммирование произойдет только по тем строкам, которые удовлетворяют условию отбора. Если запросом не найдено ни одной строки или все значения в столбце равны NULL, то функция возвращает значение NULL.
Например, запросвозвращает средний рейтинг клиентов – величину (1000 + 1500 + 1000) /3 (табл. 3.26). Таблица 3.26. Результат выполнения запроса
Исключить повторяющиеся значения при подсчете среднего можно с помощью параметра DISTINCT.
Например, запросподсчитывает среднее только несовпадающих рейтингов – величину (1000 + + 1500) / 2; еще одно значение 1000, имеющееся в столбце rating, запросом игнорируется (табл. 3.27). Таблица 3.27. Результат выполнения запроса
Функцию AVG() можно использовать для отбора тех значений, которые больше среднего, или тех, которые меньше среднего.
Например, запросвыводит информацию о клиентах, чей рейтинг выше среднего (см. результат запроса в табл. 3.12). Вложенный запрос возвращает средний рейтинг клиента (см. табл. 3.26), а внешний – отбирает строки таблицы Customers, в которых значение столбца rating больше значения, возвращенного подзапросом. Отметим, что в данном случае вложенный запрос возвращает
Теперь мы рассмотрим функцию нахождения максимального значения столбца.
MAX()Данная функция возвращает максимальное значение в столбце. Если в запросе вы укажете какое-либо условие отбора, то максимальное значение выбирается из строк, удовлетворяющих условию отбора. Если запросом не найдено ни одной строки или все значения в столбце равны NULL, то функция возвращает значение NULL.
Например, запросвозвращает наибольший из рейтингов клиентов – 1500 (табл. 3.28). Таблица 3.28. Результат выполнения запроса
Функцию MAX() можно использовать для поиска строк, в которых достигается максимальное значение столбца.
Например, запросвыводит информацию о клиентах, чей рейтинг равен максимальному (см. результат запроса в табл. 3.12).
Далее мы рассмотрим функцию нахождения минимального значения столбца.
MIN()Данная функция возвращает минимальное значение в столбце. Если в запросе вы укажете какое-либо условие отбора, то минимальное значение выбирается из строк, удовлетворяющих условию отбора. Если запросом не найдено ни одной строки или все значения в столбце равны NULL, то функция возвращает значение NULL.
Например, запросвозвращает наименьший из рейтингов клиентов – 1000 (табл. 3.29). Таблица 3.29. Результат выполнения запроса
Функцию MIN() можно использовать для поиска строк, в которых достигается минимальное значение столбца.
Например, запросвыводит информацию о клиентах, чей рейтинг равен минимальному (см. результат запроса в табл. 3.11).
Далее мы рассмотрим функцию подсчета количества значений.
COUNT()Данная функция возвращает количество отличных от NULL значений, содержащихся в столбце. Если в запросе вы укажете какое-либо условие отбора, то в подсчете участвуют только строки, удовлетворяющие условию отбора. Если не найдено ни одного отличного от NULL значения, то функция возвращает значение 0.
Например, запросвозвращает количество отличных от NULL значений в столбце rating таблицы Customers (табл. 3.30). Таблица 3.30. Результат выполнения запроса
Параметр DISTINCT позволяет подсчитать количество различных (уникальных) значений в столбце (при этом неопределенные значения также игнорируются).
Например, запросподсчитывает количество различных значений рейтинга в таблице Customers (табл. 3.31). В таблице есть две строки с одинаковым рейтингом – 1000, поэтому результат подсчета будет меньше, чем в предыдущем запросе. Таблица 3.31. Результат выполнения запроса
будет больше, чем значение, выводимое запросом
(разность этих значений совпадает с количеством строк, в которых значение в столбце rating равно NULL).
Функцию COUNT() можно использовать для отбора тех строк родительской таблицы, с которыми связано заданное количество строк дочерней таблицы.
Например, запросвыводит список клиентов, сделавших не менее двух заказов (результат запроса см. в табл. 3.14). Для каждого клиента вложенный запрос выдает количество заказов этого клиента, и если это количество не меньше двух, то текущая запись о клиенте включается в результат, выводимый внешним запросом.
Рассмотрим функции вычисления среднеквадратичного отклонения.
Функции VAR_POP(), VARIANCE(), VAR_SAMP(), STDDEV_POP(), STD(), STDDEV() и STDDEV_SAMP()Функция VAR_POP() вычисляет
– среднее арифметическое значений столбца, то дисперсия равна
возвращает величину дисперсии рейтингов клиентов:
(табл. 3.32).
Таблица 3.32. Результат выполнения запросаФункция VARIANCE() является синонимом функции VAR_POP ().
Функция VAR_SAMP() возвращает величину
– среднее арифметическое значений столбца, то значение выборочной дисперсии равно
возвращает величину выборочной дисперсии рейтингов клиентов:
(табл. 3.33).
Таблица 3.33. Результат выполнения запросаФункция STDDEV_POP() вычисляет среднеквадратичное отклонение значений столбца, которое является квадратным корнем из дисперсии.
Например, запрос