Sobes.tech
Junior

Logistika korxonasiga hisobot Siz logistika korxonasida omborlardagi operatsiyalarni hisobga oladigan tahlilchisiz. Har bir omborning samaradorligi haqida hisobot tayyorlashingiz kerak. Har bir ombor uchun hisoblang: • umumiy operatsiyalar soni (count_operations); • omborda ishlov berilgan umumiy mahsulotlar soni (sum_quantity); • faqat belgilangan vaqt bilan (NULL bo'lmagan) operatsiyalarni hisobga olgan holda, o'rtacha ishlov berish vaqti (avg_processing_time), butun son bilan yaxlitlangan; • bir operatsiyada ishlov berilgan maksimal va minimal mahsulotlar soni (max_quantity, min_quantity); • har bir turdagi operatsiyalar soni («yetkazib berish», «jo'natish», «otransfer») alohida ustunlarda: supply_operations, shipment_operations, transfer_operations. Umumiy operatsiyalar soni 2 dan ortiq bo'lgan va o'rtacha ishlov berish vaqti 60 daqiqadan oshmaydigan omborlarni filtrlash. Natijani ombor ID bo'yicha o'sish tartibida saralash. Kiritish formati Operationlar jadvali: • operation_id (int) — operatsiya identifikatori • warehouse_id (int) — ombor identifikatori • operation_type (text) — operatsiya turi: «yetkazib berish», «jo'natish», «otransfer»

sobes.tech AI

AIdan javob

Om skladi xarajatlarini baholash uchun quyidagi SQL so'rovini ishlatish mumkin:

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;

Bu yerda:

  • quantity — operatsiyadagi mahsulotlar soni;
  • processing_time — operatsiya ishlov berish vaqti (daqiqalarda);
  • Statistikalarni hisoblash uchun agregat funksiyalar ishlatiladi;
  • Operatsiya soni va o'rtacha ishlov berish vaqtiga filtr qo'yiladi;
  • Natija ombor ID bo'yicha tartiblangan.