Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Использование агрегатных функций




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

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

В стандарте определено 5 агрегатных функций:

sum(имя_столбца) – сумма значений заданного столбца,

avg(имя_столбца) – среднее значение

min(имя_столбца), max(имя_столбца)– минимальное и максимальное значение

count([DISTINCT] * или имя_столбца) – подсчет количества строк.

Первые две функции (сумма и среднее) могут быть вычислены только по числовым столбцам, максимальное и минимальное значения могут быть определены для столбцов всех типов (кроме больших объектов), при этом строки текста сравниваются в лексикографическом, а даты – в хронологическом порядке.

Например:

Подсчитать средний балл по всем студентам и предметам

select avg (mark) avg_mark from marks

Найти минимальную и максимальную даты рождения студентов

select MIN(born) min_date, MAX(born) max_date from students

Функция COUNT, казалось бы, вообще не должна содержать аргументов, поскольку ее назначение – подсчет количества строк, что она и делает, если в качестве аргумента используется символ-заменитель *. Однако, если в качестве аргумента использовать имя столбца, данная функция будет подсчитывать количество непустых значений в данном столбце. Второй вариант аргумента разумно использовать, только если столбец не имеет ограничения NOT NULL. Использование ключевого слова DISTINCT приводит к тому, что подсчитывается количество уникальных значений в заданном столбце.

Например:

Посчитать количество студентов (количество строк в таблице students)

select count (*) count_students from students

Подсчитать количество студентов, для которых известен номер их телефона.

select count (phone) count_phones from students

Подсчитать количество уникальных значений оценок в таблице marks:

select count (DISTINCT mark) count_marks from marks

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

Поделиться:





Читайте также:

II. Использование галереи фильтров
VIII. ТЕХНИКА ИЗМЕНЕНИЯ ЛИЧНОЙ ИСТОРИИ С ИСПОЛЬЗОВАНИЕМ ВИЗУАЛЬ НОЙ СИСТЕМЫ.
А) С использованием кривых Безье
А. Проверка подлинности процессов при распределении ключей с использованием ЦРК
Билет № 27 Макроэкономические показатели, их взаимосвязь и использование в хоз.практике.
В рыночной экономике роль денег значительно повышается, чему способствуют создание и использование предпосылок, характерных для новых условий хозяйственной деятельности.
Вакуумные фотоэлементы и фотоэлектронные умножители, их использование в звуковом кино. Передающие телевизионные трубки. Изобретение электронно-лучевой трубки.
Ввод данных в базу. Использование формы данных
Ввод табличной формулы с использованием имен диапазонов.
Виды фондов рабочего времени и их использование при расчете необходимой численности работников.






Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...