Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Запросы с группировкой (предложение GROUP BY)




Вычисление количества значений в столбце (COUNT)

Вычисление среднего значения (AVG)

Вычисление экстремумов (MIN и MAX)

Вычисление суммы столбца (SUM)

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

Вычислить оборот за каждый день в течение месяца.

SELECT ДАТА_ДОК

SUM (КОЛ-ВО*ЦЕНА)

FROM ПЕРЕМЕЩЕНИЕ

WHERE ДАТА_ДОК BETWEEN ‘1.01.2000’ AND ’31.01.2000’

 

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

Вывести максимальную цену товара.

SELECT MAX (ЦЕНА)

FROM ПЕРЕМЕЩЕНИЕ

 

Когда был сделан самый первый из всех содержащихся в базе данных документ?

SELECT MIN (ДАТА)

FROM ДОКУМЕНТ

 

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

 

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

Вычислить среднее значение цены и количества в таблице «Остатки».

SELECT AVG(ЦЕНА),AVG(КОЛИЧЕСТВО)

FROM ОСТАТКИ

 

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

Вывести количество фирм, являющихся ЗАО.

SELECT COUNT(*)

FROM КЛИЕНТ

WHERE НАЗВАНИЕ LIKE ‘%ЗАО%’

 

 

Итоговые запросы напоминают итоговую информацию, находящуюся обычно в конце отчета. Эти запросы «сжимают» подробные данные, содержащиеся в отчете, в одну строку итоговых результатов. Но, как известно, в отчетах иногда используются также промежуточные итоги. И точно так же бывает необходимо получать промежуточные итоги результатов запроса. Эту возможность предоставляет предложение GROUP BY.

Вычислить оборот за каждый день в течение месяца.

SELECT ДАТА_ДОК, SUM (КОЛ-ВО*ЦЕНА)

FROM ПЕРЕМЕЩЕНИЕ

WHERE ДАТА_ДОК BETWEEN ‘1.01.2000’ AND ’31.01.2000’

GROUP BY ДАТА_ДОК

ORDER BY ДАТА_ДОК

 

Какова средняя цена для каждой материальной ценности.

SELECT IDN_МАТ.ЦЕН, AVG(ЦЕНА)

FROM ПЕРЕМЕЩЕНИЕ

GROUP BY IDN_МАТ.ЦЕН

 

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

 




Поделиться с друзьями:


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


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



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




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