35 lines
1.4 KiB
SQL
35 lines
1.4 KiB
SQL
-- use OrdersDB;
|
|
|
|
-- use OrdersDB_2;
|
|
|
|
-- -- Створіть процедуру без параметрів з назвою Agregate_Amt,
|
|
-- -- яка після виклику дозволить вивести таку інформацію:
|
|
-- -- sname – ім’я продавця
|
|
-- -- s_Avg_Amt – середнє значення угоди продавця
|
|
-- -- Avg_Amt – середнє значення усіх угод
|
|
-- -- s_Max _Amt – максимальне значення угоди продавця
|
|
-- -- Max _Amt – максимальне значення усіх угод
|
|
-- -- s_Min _Amt – мінімальне значення угоди продавця
|
|
-- -- Min _Amt – мінімальна значення усіх угод
|
|
-- -- Інформацію відсортуйте за s_Avg_Amt
|
|
-- -- Викличте процедуру, щоб переконатися у правильності її роботи
|
|
|
|
-- create procedure Agregate_Amt()
|
|
-- begin
|
|
-- select
|
|
-- s.sname,
|
|
-- avg(o.amt) as s_Avg_Amt,
|
|
-- (select avg(amt) from Orders) as Avg_Amt,
|
|
-- max(o.amt) as s_Max_Amt,
|
|
-- (select max(amt) from Orders) as Max_Amt,
|
|
-- min(o.amt) as s_Min_Amt,
|
|
-- (select min(amt) from Orders) as Min_Amt
|
|
-- from Orders o
|
|
-- join Salespeople s on o.snum = s.snum
|
|
-- group by s.sname
|
|
-- order by s_Avg_Amt;
|
|
-- end
|
|
|
|
-- drop procedure if exists Agregate_Amt;
|
|
|
|
-- call Agregate_Amt (); |