You are on page 1of 6

Горбань Ю. В.

КІ-18
Лабораторна робота № 4.
Тема: Групування даних. Агрегаційні функції.
Мета: Розглянути конструкцію GROUP BY, а також оператори Count, Max,
Min, Sum, Avg. Повторити вибірку з обмеженням.

1. У власній БД створити схему sales


2. За допомогою Tables / Query Tool створити таблицю sales.salesorderheader

Виконати наступні запити:


1. Скільки рядків у таблиці Sales.SalesOrderHeader?
SELECT COUNT(*) 
FROM Sales.SalesOrderHeader

Рисунок 4.1 – Кількість рядків у таблиці SalesOrderHeader

2. Використовуючи таблицю Sales.SalesOrderHeader, вирахувати середній (та


загальний) обсяг вантажу (Freight) для всіх продажів, які відбулися в
TerritoryID = 4
SELECT AVG(Freight)
FROM Sales.SalesOrderHeader WHERE TerritoryID = 4
Горбань Ю. В. КІ-18

Рисунок 4.2 – Cередній та загальний обсяг вантажу для всіх продажів, які
відбулися в TerritoryID = 4

3. Який максимальний (та мінімальний) обсяг вантажу (Freight) у таблиці


Sales.SalesOrderHeader?
SELECT MAX(Freight)
FROM Sales.SalesOrderHeader

Рисунок 4.3 – Максимальний та мінімальний обсяг вантажу у таблиці


Sales.SalesOrderHeader

4. Використовуючи Sales.SalesOrderHeader, визначіть, скільки продажів


(Sales)
відбулося на кожній з територій? Виведіть результати у порядку – за
спаданням
SELECT TerritoryID,
COUNT(*) AS SalesCount
FROM Sales.SalesOrderHeader
GROUP BY TerritoryID
ORDER BY SalesCount desc
Горбань Ю. В. КІ-18

Рисунок 4.4 – Кількість продажів (Sales), що відбулося на кожній з територій

5. Використовуючи Sales.SalesOrderHeader, визначіть, скільки продажів


(Sales)
відбулося у кожному періоді (колонка «OrderDate»)? Виведіть результати у
порядку – за зростанням
SELECT OrderDate,
COUNT(*) AS SalesCount
FROM Sales.SalesOrderHeader
GROUP BY OrderDate
ORDER BY SalesCount asc

Рисунок 4.5 – Кількість продажів у кожному періоді

Навести приклади застосування агрегаційних функцій до різних таблиць


своєї
Горбань Ю. В. КІ-18
БД (5 прикладів).

Рисунок 4.6 – Кількість автомобілів певної вантажності

Рисунок 4.7 – Середня вага вантажу

Рисунок 4.8 – Кількість замовлень у сьомому місяці


Горбань Ю. В. КІ-18

Рисунок 4.9 – Пошук автомобіля з найменшою вантажністю

Рисунок 4.10 – Кількість замовлення певного дня

Завдання для повторення:


1. Вивести замовлення (з таблиці Sales.SalesOrderHeader), призначені для
областей з TerritoryID: 7,8,9

Рисунок 4.11 – Замовлення призначені для областей з TerritoryID: 7,8,9

2. Вивести останні 10 замовлень, які належать до областей з


ідентифікаторами:
7,8,9 із загальною кількістю товарів (SubTotal) менше ніж 100
Горбань Ю. В. КІ-18
Рисунок 4.12 – Останні десять замовлень, що належать до областей з
ідентифікаторами: 7,8,9 із загальною кількістю товарів менше ніж 100

3. Вивести 10 замовлень з найбільшою кількістю товарів (SubTotal), які


належать до області (TerritoryID) = 7

Рисунок 4.13 – 10 замовлень з найбільшою кількістю товарів, які належать до


області (TerritoryID) = 7

4. Вивести замовлення, призначені для області 7 (TerritoryID), без


присвоєного номера кредитної картки (CreditCardID)

Рисунок 4.14 – Замовлення, призначені для області 7

5. Вивести замовлення 2011 року, відсортовані за датою замовлення


(OrderDate)

Рисунок 4.15 – Замовлення 2011 року

Висновок: в ході лабораторної роботи було розглянуто принципи групування


даних, агрегаційні функції. Розглянуто конструкцію GROUP BY, а також
оператори Count, Max, Min, Sum, Avg.

You might also like