Junior
ლოგისტიკის კომპანიისთვის ანგარიში თქვენ ხართ ლოგისტიკური კომპანიის ანალიტიკოსი, რომელიც აკრეფს ოპერაციებს საწყობებში. უნდა მოამზადოთ ანგარიში თითოეული საწყობი ეფექტურობის შესახებ. თითოეული საწყობი გამოითვალეთ: • საერთო ოპერაციების რაოდენობა (count_operations); • საწყობში დამუშავებული საერთო საქონლის რაოდენობა (sum_quantity); • ოპერაციის საშუალო დრო (avg_processing_time), მხოლოდ მითითებული დროის ოპერაციებისთვის (არ NULL), მრგვლივ მთელ რიცხვად; • მაქსიმალური და მინიმალური საქონლის რაოდენობა, რომელიც ერთ ოპერაციაში დამუშავდა (max_quantity, min_quantity); • თითოეული ტიპის ოპერაციების რაოდენობა («მიწოდება», «გაგზავნა», «გადატანა») ცალკე სვეტებში: supply_operations, shipment_operations, transfer_operations. ფილტრეთ საწყობები, რომელთა საერთო ოპერაციების რაოდენობა აღემატება 2-ს და საშუალო დრო არ აღემატება 60 წუთს. შედეგი sort-ით დაალაგეთ საწყობი ID-ის მიხედვით ზრდადობით. შესავალი ფორმატი ოპერაციების სია: • operation_id (int) — ოპერაციის უნიკალური ID • warehouse_id (int) — საწყობის ID • operation_type (text) — ოპერაციის ტიპი: «მიწოდება», «გაგზავნა», «გადატანა»
sobes.tech AI
პასუხი AI-სგან
საწყობების ეფექტიანობის ანგარიშის შედგენისათვის შეგიძლიათ გამოიყენოთ შემდეგი SQL სვეტები:
SELECT
warehouse_id,
COUNT(*) AS count_operations,
SUM(quantity) AS sum_quantity,
ROUND(AVG(CASE WHEN processing_time IS NOT NULL THEN processing_time END)) AS avg_processing_time,
MAX(quantity) AS max_quantity,
MIN(quantity) AS min_quantity,
SUM(CASE WHEN operation_type = 'поставка' THEN 1 ELSE 0 END) AS supply_operations,
SUM(CASE WHEN operation_type = 'отгрузка' THEN 1 ELSE 0 END) AS shipment_operations,
SUM(CASE WHEN operation_type = 'перемещение' THEN 1 ELSE 0 END) AS transfer_operations
FROM operations
GROUP BY warehouse_id
HAVING COUNT(*) > 2 AND ROUND(AVG(CASE WHEN processing_time IS NOT NULL THEN processing_time END)) <= 60
ORDER BY warehouse_id ASC;
აქ:
quantity— საქონლის რაოდენობა ოპერაციაში;processing_time— ოპერაციის დამუშავების დრო (წუთებში);- გამოიყენება აგრეგატული ფუნქციები სტატისტიკის გამოთვლის და გამოთვლისათვის;
- ფილტრი ოპერაციების რაოდენობის და საშუალო დამუშავების დროის მიხედვით;
- შედეგი სორტირებულია საწყობის ID-ის მიხედვით.