Студопедия

КАТЕГОРИИ:


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

Запрос 7

Группирование результатов

Запрос 6

Определить среднее число сотрудников, работающих на кафедрах университета.

Запрос будет выглядеть следующим образом:

SELECT AVG(Col_sotr) AS avg

FROM kafedra;

Ответ на запрос:

 

avg
 

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

В языке SQL для осуществления операции группировки в оператор select включается фраза group by. Запрос, в котором присутствует фраза group by, называется группирующим запросом, а столбцы, перечисленные в этой фразе, называются группирующими столбцами.

В дальнейшем в качестве примера будем работать с двумя БД: НИР и Сессия.

БД НИР состоит из одной таблицы, в которой хранится информация о производимых выплатах специалистам за проделанную работу по определенным этапам НИР: R= (ФИО, Этап, Начисления).

Пусть таблица содержит следующие данные.

r

ФИО Этап Начисления (руб)
Семенов Т.Т. Этап 1  
Просов С.М. Этап 1  
Мехова И.И. Этап 1  
Семенов Т.Т. Этап 2  
Просов С.М. Этап 2  
Мехова И.И. Этап 2  
Просов С.М. Этап 3  
Мехова И.И. Этап 3  
Чемцов Я.Ю. Этап 3  
Чемцов Я.Ю. Этап 4  
Яров И.М. Этап 4  

 

БД Сессия включает в себя сводную таблицу, где представлены экзаменационные оценки студентов, полученные ими в сессию по определенным дисциплинам:

S = (ФИО, Дисциплина, Оценка);

s

ФИО Дисциплина Оценка
Мур С.М. Физика  
Цуканов Т.Т. Физика  
Думская М.Т. Физика  
Дрозд Г.Р. Физика  
Мур С.М. История  
Цуканов Т.Т. История  
Думская М.Т. История  
Цуканов Т.Т. Математика  
Думская М.Т. Математика  
Дрозд Г.Р. Математика  
Петрова С.О. Электротехника  
Часов И.И. Электротехника  
Иванова Я.С. Электротехника  
Крисс Р.О. Электротехника  
Часов И.И. Иностр. язык  
Иванова Я.С. Иностр. язык  
Часов И.И. Экономика  
Иванова Я.С. Экономика  
Крисс Р.О. Экономика  
Фирсова Л.Р. Экономика  

 

Cформируем к базам данных несколько запросов.

БД НИР. Для каждого специалиста определить сумму, выплаченную за работу по данной теме, и количество сделанных ему выплат.

Для формирования запроса включим в предложение select следующую информацию: ФИО, COUNT (Начисления) AS count, SUM (Начисления) AS sum, где в качестве имен для двух вычисляемых столбцов используются псевдонимы. Группировку будем производить по столбцу ФИО. Для того чтобы проще было просматривать результаты, выводимые данные представим в отсортированном по столбцу ФИО виде

SELECT ФИО, COUNT (Начисления) AS count, SUM (Начисления) AS sum FROM r GROUP BY ФИО

ORDER BY ФИО;

Результат запроса:

 

ФИО count sum
Мехова И.И.    
Просов С.М.    
Семенова Т.Т.    
Чемцов Я.Ю.    
Яров И.М.    
<== предыдущая лекция | следующая лекция ==>
Оператор выбора SELECT. Формирование запросов к базе данных | Многотабличные запросы
Поделиться с друзьями:


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


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



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




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