Сборник упражнений по стандарту SQL. Семенова И.И. - 19 стр.

UptoLike

Составители: 

19
GROUP BY позволяет создавать итоговый запрос. Обычный запрос
включает в результат по одной строке для каждой строки из базы
данных. Итоговый запрос, напротив, вначале группирует строки базы
данных по определенному признаку, а затем включает в результаты
запроса одну итоговую строку для каждой группы.
Предложение GROUP BY позволяет вести расчет итогов внутри
каждой группы, в данном случае расчет суммарной зарплаты каждого
сотрудника. Если бы мы не использовали GROUP BY, то в результате
получили бы сумму зарплат всех сотрудников без разбиения по
сотрудникам.
36. Вывести среднюю зарплату каждого сотрудника за прошедший год:
на VFP:
SELECT Name, Lastname, Surname, Staff.T_number, AVG(Sum_pay)
FROM Staff, Paies WHERE (Staff.T_number = Paies.T_number) AND
(Pay_day BETWEEN CTOD(01.01.2002) AND CTOD(31.12.2002’) )
GROUP BY Staff.T_number
на MS SQL Server:
SELECT Name, Lastname, Surname, Staff.T_number, AVG(Sum_pay)
FROM Staff, Paies WHERE (Staff.T_number = Paies.T_number) AND
(Pay_day BETWEEN 01-JAN-2002 AND31-DEC-2002 ) GROUP BY
Staff.T_number
на Access:
SELECT Name, Lastname, Surname, Staff.T_number, AVG(Sum_pay)
FROM Staff, Paies WHERE (Staff.T_number = Paies.T_number) AND
(Pay_day BETWEEN #01.01.2002# AND #31.12.2002# ) GROUP BY
Staff.T_number
37. Вывести количество сотрудников по каждой должности:
SELECT Post, Count(T_number) FROM Staff GROUP BY Post
38. Вывести дату устройства на работу самого первого и последнего
сотрудника (рис. 13):
SELECT Min(Date_input), Max(Date_input) FROM Staff
Min_date_input
Max_date_input
12.11.1979
18.11.2003
Рис. 13. Итоговые значения
Изменение наименований полей
39. Вывести список сотрудников и суммарную зарплату каждого,
которую поместить в поле с названием Itog:
PDF created with pdfFactory Pro trial version www.pdffactory.com