русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

СТАТИСТИЧЕСКИЕ (АГРЕГАТНЫЕ) ФУНКЦИИ


Дата добавления: 2013-12-24; просмотров: 889; Нарушение авторских прав


Для подведения итогов по информации, содержащейся в базе данных, в SQL предусмотрены статистические (агрегатные) функции. Статистическая функция принимает в качестве аргумента какой-либо столбец данных целиком, а возвращает одно значение, которое определенным образом подытоживает этот столбец.

В SQL имеется пять статистических функций, которые позволяют получать различные виды итоговой информации:

- SUM() – для вычисления суммы всех значений столбца-аргумента

- AVG() – для вычисления среднего значения столбца

- MIN() – определяет минимальное значение столбца

- MAX() – определяет максимальное значение столбца

- COUNT() – подсчитывает число всех определенных значений столбца

- COUNT(*) – подсчитывает число строк таблицы.

Аргументом статистической функции может быть простое имя столбца или выражение. Приведем пример запроса со статистическими функциями:

 

Определить среднемесячную и среднегодовую зарплату сотрудников предприятия

select avg(salary) as per_month, avg(12*salary) as per_year

from staff;

 

В предыдущем примере в списке возвращаемых столбцов результирующего множества использовались псевдонимы столбцов, иначе значения в возвращаемой строке будут представлены под именами avg(salary) и avg(12*salary), т.е. псевдонимы здесь введены, можно сказать для “конкретизации” результирующих данных.

Особых замечаний заслуживает функция COUNT(). Тип данных столбца-аргумента этой функции может быть любым (не обязательно числовым, в отличие от других статистических функций), а возвращает она всегда целое число независимо от типа данных столбца. Например, следующий запрос подсчитывает количество работающих на предприятии менеджеров:

 

select count (sno)

from staff

where position = ‘менеджер’;

 

Следует заметить, что для функции COUNT() важны не конкретные значения ячеек, а важно количество, ячеек, удовлетворяющих заданному критерию. Поэтому на самом деле не важно, какой столбец указывать в качестве аргумента. Предыдущий запрос можно переписать и так:



 

select count (lname)

from staff

where position = ‘менеджер’;

 

В отличие от функции COUNT() статистическая функция COUNT(*) подсчитывает строки, а не значения в них. Функция COUNT() не учитывает NULL – значений в столбцах – аргументах, также как и любая другая статистическая функция.

В SQL существует ряд ограничений на применение статистических функций в инструкциях SELECT . Так в списке возвращаемых столбцов можно указывать любую статистическую функцию, она также может входить в выражение, в котором суммируются или вычитаются значения двух и более статистических функций, однако статистическая функция не может быть аргументом для другой такой функции, поскольку получающееся в таком случае выражение не имеет смысла. Кроме того, в списке возвращаемых столбцов нельзя одновременно указывать статистическую функцию и обычные имена столбцов, поскольку в этом также нет смысла.

 



<== предыдущая лекция | следующая лекция ==>
ПРОИЗВОДИТЕЛЬНОСТЬ ПРИ ОБРАБОТКЕ МНОГОТАБЛИЧНЫХ ЗАПРОСОВ | ЗАПРОСЫ С ГРУППИРОВКОЙ (ПРЕДЛОЖЕНИЕ GROUP BY)


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.137 сек.