Группировка и обобщение данных. Рекомендации по выполнению работы и перечень типовых заданий. Учебно-методическое пособие
.pdfВариант 16
1.Найти количество различных имен штатов из таблицы
Person.StateProvince.
2.Найти среднюю и суммарную стоимость, где StandardCost
больше 10, из таблицы Production.ProductCostHistory. Не учитывать нулевую стоимость.
3.Показать количество разных городов, основываясь на таблице
Person.Address.
4.Найти цвета (Color) из таблицы Production.Product, где
суммарная и средняя стоимость товаров больше 1000 и 100
соответственно (из выборки исключить пустые поля).
5.Вывести PersonID, StoreID и количество PersonID,
предусмотреть вывод количества PersonID для всех PersonID
имеющих значение (NOT NULL) из таблицы Sales.Customer.
(Использовать ROOLUP).
6.Изменить запрос п.5 использовать CUBE. Отделить строки, созданные с помощью агрегатных функций от строк из фактической таблицы.
7.Изменить запрос п.5 использовать GROUPING SETS. Отделить строки,
созданные с помощью агрегатных функций от строк из фактической таблицы.
41
Вариант 17
1.Найти максимальный вес из таблицы Production.Product.
2.Найти количество записей, где стоимость меньше 9, из таблицы
Production.ProductCostHistory.
3.Показать количество человек в каждом типе людей PersonType из таблицы Person.Person (из выборки исключить пустые поля).
4.Показать ID продуктов из таблицы Production.WorkOrder, где
сумма OrderQty меньше 1000.
5.Вывести PersonID, StoreID и количество TerritoryID,
предусмотреть вывод количества TerritoryID для всех StoreID
имеющих значение (NOT NULL) из таблицы Sales.Customer.
(Использовать ROOLUP).
6.Изменить запрос п.5 использовать CUBE. Отделить строки, созданные с помощью агрегатных функций от строк из фактической таблицы.
7.Изменить запрос п.5 использовать GROUPING SETS. Отделить строки,
созданные с помощью агрегатных функций от строк из фактической таблицы.
42
Вариант 18
1.Найти минимальный вес из таблицы Production.Product.
2.Найти ID людей, которых зовут Bob, из таблицы Person.Person.
3.Показать суммарную и среднюю стоимость товаров каждого цвета
из таблицы Production.Product (из выборки исключить пустые поля). Не учитывать нулевую цену.
4.Найти пол из таблицы HumanResources.Employee, где количество людей, принятых до 2008 года, имеют суммарное количество часов отдыха больше 100, не учитывать пустые значения.
5.Вывести TerritoryID, StoreID и количество TerritoryID, из таблицы Sales.Customer. (Использовать ROOLUP).
6.Изменить запрос п.5 использовать CUBE. Отделить строки, созданные с помощью агрегатных функций от строк из фактической таблицы.
7.Изменить запрос п.5 использовать GROUPING SETS. Отделить строки,
созданные с помощью агрегатных функций от строк из фактической таблицы.
43
Вариант 19
1.Найти средний вес из таблицы Production.Product.
2.Найти количество людей, которых зовут Barry Johnson, из таблицы Person.Person.
3.Показать суммарную стоимость товаров в каждой линейке продуктов ProductLine из таблицы Production.Product (из выборки исключить пустые поля).
4.Найти профессии (JobTitle) из таблицы
HumanResources.Employee, где количество работников мужского пола (Gender) больше 2 (из выборки исключить пустые поля).
5.Вывести TerritoryID, StoreID и количество StoreID,
предусмотреть вывод количества StoreID для всех StoreID
имеющих значение (NOT NULL) из таблицы из таблицы
Sales.Customer. (Использовать ROOLUP).
6.Изменить запрос п.5 использовать CUBE. Отделить строки, созданные с помощью агрегатных функций от строк из фактической таблицы.
7.Изменить запрос п.5 использовать GROUPING SETS. Отделить строки,
созданные с помощью агрегатных функций от строк из фактической таблицы.
44
Вариант 20
1.Найти количество различных размеров (Size) из таблицы
Production.Product.
2.Найти все номера, которые начинаются c 819 из таблицы
Person.PersonPhone.
3.Показать среднюю цену товара в каждой линейке продуктов
ProductLine из таблицы Production.Product (из выборки исключить пустые поля и товар с нулевой ценой).
4.Найти линейку продуктов ProductLine из таблицы
Production.Product, где максимальный вес меньше 500 (из выборки исключить пустые поля).
5.Вывести TerritoryID, PersonID и количество PersonID,
предусмотреть вывод количества PersonID для всех PersonID
имеющих значение (NOT NULL) из таблицы из таблицы
Sales.Customer. (Использовать ROOLUP).
6.Изменить запрос п.5 использовать CUBE. Отделить строки, созданные с помощью агрегатных функций от строк из фактической таблицы.
7.Изменить запрос п.5 использовать GROUPING SETS. Отделить строки,
созданные с помощью агрегатных функций от строк из фактической таблицы.
45
Вариант 21
1.Найти минимальный размер из таблицы Production.Product.
2.Найти количество номеров, которые начинаются c 697 из таблицы
Person.PersonPhone.
3.Показать максимальную цену товара в каждой линейке продуктов
ProductLine из таблицы Production.Product (из выборки исключить пустые поля).
4.Найти количество человек с именем David (LoginID), которые
старше 40 лет из таблицы HumanResources.Employee.
5.Вывести TerritoryID, PersonID и количество PersonID,
предусмотреть вывод количества PersonID для всех PersonID
имеющих значение (NOT NULL) из таблицы из таблицы
Sales.Customer. (Использовать ROOLUP).
6.Изменить запрос п.5 использовать CUBE. Отделить строки, созданные с помощью агрегатных функций от строк из фактической таблицы.
7.Изменить запрос п.5 использовать GROUPING SETS. Отделить строки,
созданные с помощью агрегатных функций от строк из фактической таблицы.
46
Вариант 22
1.Найти максимальный размер из таблицы Production.Product.
2.Найти количество магазинов, у которых CostRate не превышает 15, из таблицы Production.Location.
3.Показать минимальную цену товара в каждой линейке продуктов
ProductLine из таблицы Production.Product (из выборки исключить пустые поля). Не учитывать нулевую цену.
4.Вывести профессии (JobTitle) из таблицы
HumanResources.Employee, где количество человек, принятых до 2009 года, больше 1.
5.Вывести NameStyle, Title и количество Title для NameStyle
с разными Title, предусмотреть вывод количества Title для всех
PersonType у различных Title, имеющих значение в поле
NameStyle (NOT NULL), из таблицы Person.Person.
(Использовать ROOLUP).
6.Изменить запрос п.5 использовать CUBE. Отделить строки, созданные с помощью агрегатных функций от строк из фактической таблицы.
7.Изменить запрос п.5 использовать GROUPING SETS. Отделить строки,
созданные с помощью агрегатных функций от строк из фактической таблицы.
47
Вариант 23
1.Найти количество различных размеров (Size) из таблицы
Production.Product.
2.Найти все номера, которые начинаются c 819 из таблицы
Person.PersonPhone.
3.Показать среднюю цену товара в каждой линейке продуктов
ProductLine из таблицы Production.Product (из выборки исключить пустые поля и товары с нулевой ценой).
4.Найти линейку продуктов ProductLine из таблицы
Production.Product, где максимальный вес меньше 500 (из выборки исключить пустые поля).
5.Вывести PersonType, NameStyle и количество PersonType для
PersonType с разными NameStyle, предусмотреть вывод
количества PersonType для всех PersonType у различных
NameStyle, имеющие значение (NOT NULL) из таблицы
Person.Person (Использовать ROOLUP).
6.Изменить запрос п.5 использовать CUBE. Отделить строки, созданные с помощью агрегатных функций от строк из фактической таблицы.
7.Изменить запрос п.5 использовать GROUPING SETS. Отделить строки,
созданные с помощью агрегатных функций от строк из фактической таблицы.
48
Вариант 24
1.Найти количество разнообразных городов (City) из таблицы
Person.Address.
2.Вывести данные о работниках, которые младше 42 лет из таблицы
HumanResources.Employee.
3.Показать среднюю стоимость для товара в каждой линейке размеров Size из таблицы Production.Product (из выборки исключить пустые поля и товары с нулевой ценой).
4.Найти типы людей (PersonType) из таблицы Person.Person, где
количество человек меньше 1000 (из выборки исключить пустые поля).
5.Вывести ProductID, ReferenceOrderID и максимальный номер ProductID для ProductID с разными ReferenceOrderID,
предусмотреть вывод максимального номера ProductID для всех
ProductID у различных ReferenceOrderID из таблицы
Production.TransactionHistory (Использовать ROOLUP).
6.Изменить запрос п.5 использовать CUBE. Отделить строки, созданные с помощью агрегатных функций от строк из фактической таблицы.
7.Изменить запрос п.5 использовать GROUPING SETS. Отделить строки,
созданные с помощью агрегатных функций от строк из фактической таблицы.
49
Вариант 25
1.Найти среднюю цену товара (ListPrice) из таблицы
Production.Product. Не учитывать нулевые значения цены.
2.Найти средний вес (Weight) товара желтого (Yellow) цвета
(Color) из таблицы Production.Product, не учитывать пустые значения.
3.Для каждой профессии (JobTitle) найти количество женщин,
которые были приняты позже 2008 года, из таблицы
HumanResources.Employee, не учитывать пустые значения.
4.Вывести типы (PhoneNumberTypeID) из таблицы
Person.PersonPhone, где в номере телефона данного типа первые две цифры совпадают с последними двумя и количество таких номеров телефонов больше 6.
5.Вывести BusinessEntityID, LastReceiptDate и минимальное
по StandardPrice для BusinessEntityID с разными
LastReceiptDate, предусмотреть вывод минимального
StandardPrice у различных BusinessEntityID из таблицы
Purchasing.ProductVendor. (Использовать ROOLUP).
6.Изменить запрос п.5 использовать CUBE. Отделить строки, созданные с помощью агрегатных функций от строк из фактической таблицы.
7.Изменить запрос п.5 использовать GROUPING SETS. Отделить строки,
созданные с помощью агрегатных функций от строк из фактической таблицы.
50
