Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Использование обобщающих функций языка SQL

Стандарт ISO содержит определение следующих пяти обобщающих функций.

COUNT Возвращает количество значений в указанном столбце
SUM Возвращает сумму значений в указанном столбце
AVG Возвращает усредненное значение в указанном столбце
MIN Возвращает минимальное значение в указанном столбце
MAX Возвращает максимальное значение в указанном столбце

Все эти функции оперируют со значениями в столбце таблицы и возвращают единственное значение. Функции COUNT, MIN и MAX применимы как к числовым, так и к нечисловым полям, тогда как функции SUM и AVG могут использоваться только в случае числовых полей. За исключением COUNT(*), при вычислении результатов любых функции сначала исключаются все пустые значения, после чего требуемая операция применяется только к оставшимся значениям столбца.

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

Если до применения обобщающей функции необходимо исключить дублирующиеся значения, следует перед именем столбца в определении функции поместить ключевое слово DISTINCT. Стандарт ISO допускает использование ключевого слова ALL с целью явного указания того, что исключение дублирующихся значений не требуется, хотя это ключевое слово подразумевается по умолчанию, если никакие иные определители не заданы. Ключевое слово DISTINCT не имеет смысла для функций MIN и MAX. Однако его использование может оказывать эффект на результаты выполнения функций SUM и AVG. Ключевое слово DISTINCT в каждом запросе может быть указано не более одного раза.

Очень важно отметить, что обобщающие функции могут использоваться только в списке предложения SELECT и в составе предложения HAVING. Во всех других случаях использование этих функций недопустимо. Если список в предложении SELECT содержит обобщающие функции, а в тексте запроса отсутствует фраза GROUP BY, обеспечивающая объединение данных в группы, то ни один из элементов списка предложения SELECT не может включать каких-либо ссылок на колонки, за исключением случая, когда эта колонка используется как аргумент обобщающей функции. Например, следующий запрос является некорректным:

SELECT KodS, COUNT(ZP) FROM S;

Ошибка состоит в том, что в данном запросе отсутствует фраза GROUP BY, а обращение к колонке KodS в предложении SELECT выполняется без применения обобщающей функции.

Пример 9.13. Использование функции COUNT (*). Определить, сколько сдаваемых в аренду объектов имеют ставку арендной платы менее 350.

SELECT COUNT(*) AS C FROM P WHERE ZP > 350;

Ограничение на подсчет только тех сдаваемых в аренду объектов, арендная плата, которых составляет менее 350, реализуется посредством использования предложения WHERE. Количество сдаваемых в аренду объектов, отвечающих указанному условию, может быть определено с помощью обобщающей функции COUNT. Результаты выполнения запроса:

C
 

Пример 9.14. Использование функции COUNT (DISTINCT). Определить, сколько различных сдаваемых в аренду объектов были осмотрены.

SELECT COUNT(DISTINCT KodP) AS C FROM V;

Результаты выполнения запроса:

C
 

Общее количество осмотренных объектов, удовлетворяющих указанному условию, может быть определено с помощью обобщающей функции COUNT. Однако, поскольку один и тот же объект может быть осмотрен различными клиентами несколько раз, необходимо в определении функции указать ключевое слово DISTINCT — это позволит исключить из расчета дублирующиеся значения.

Пример 9.15. Использование функций COUNT и SUM

Определить общее количество менеджеров компании и вычислить сумму их зарплаты.

SELECT COUNT(KodS) AS C, SUM(ZP) AS SZP
FROM S
WHERE Dol = 'Manager';

Ограничение на отбор сведений только о менеджерах компании достигается указанием в запросе соответствующего предложения WHERE. Общее количество менеджеров и сумма их годовой заработной платы определяются путем применения обобщающих функций COUNT и SUM соответственно. Результаты выполнения запроса представлены в табл. 13.17.

Таблица 13.17.

Результаты выполнения запроса:

C SZP
   

Пример 9. 16. Использование функций Min, Мах и AVG

Вычислить значение минимальной, максимальной и средней заработной платы.

SELECT MIN(ZP) AS MinZP, MAX(ZP) AS MaxZP, AVG(ZP) AS AZP FROM S;

 

<== предыдущая лекция | следующая лекция ==>
Сортировка результатов (фраза ORDER BY) | Группирование результатов (фраза GROUP ВУ)
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 2448; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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