Sobes.tech
Junior

Ziņojums loģistikas uzņēmumam Jūs esat loģistikas uzņēmuma analītiķis, kurš reģistrē noliktavu operācijas. Jums jāizstrādā ziņojums par katra noliktavas efektivitāti. Katrai noliktavai aprēķiniet: • kopējo operāciju skaitu (count_operations); • kopējo apstrādāto preču skaitu noliktavā (sum_quantity); • vidējo operācijas apstrādes laiku (avg_processing_time), ņemot vērā tikai operācijas ar norādītu laiku (ne NULL), noapaļotu līdz tuvākajam veselajam skaitlim; • maksimālo un minimālo preču skaitu, kas apstrādāts vienā operācijā (max_quantity, min_quantity); • katra veida operāciju skaitu («piegāde», «sūtīšana», «pārvietošana») atsevišķās kolonnās: supply_operations, shipment_operations, transfer_operations. Filtrējiet noliktavas, kuru kopējais operāciju skaits ir lielāks par 2 un vidējais apstrādes laiks nepārsniedz 60 minūtes. Rezultātu sakārtojiet pēc noliktavas ID augošā secībā. Ievades formāts Operāciju tabula: • operation_id (int) — unikāls operācijas ID • warehouse_id (int) — noliktavas ID • operation_type (text) — operācijas veids: «piegāde», «sūtīšana», «pārvietošana»

sobes.tech AI

Atbilde no AI

Lai sagatavotu noliktavu efektivitātes ziņojumu, jūs varat izmantot sekojošo SQL vaicājumu:

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;

Šeit:

  • quantity — preču daudzums operācijā;
  • processing_time — operācijas apstrādes laiks (minūtēs);
  • Tiek izmantotas agregatīvās funkcijas statistikas skaitīšanai un aprēķināšanai;
  • Filtrs pēc operāciju skaita un vidējā apstrādes laika;
  • Rezultāts ir sakārtots pēc noliktavas ID.