Sobes.tech
Junior

Správa pre logistickú spoločnosť Ste analytik v logistickej spoločnosti, ktorá zaznamenáva operácie na skladoch. Musíte vypracovať správu o efektívnosti každého skladu. Pre každý sklad vypočítajte: • celkový počet operácií (count_operations); • celkový počet spracovaných tovarov na sklade (sum_quantity); • priemerný čas spracovania operácie (avg_processing_time), pričom zohľadňujte iba operácie s určeným časom (nie NULL), zaokrúhlený na celé číslo; • maximálny a minimálny počet tovarov spracovaných v jednej operácii (max_quantity, min_quantity); • počet operácií každého typu («dodávka», «odoslanie», «presun») v samostatných stĺpcoch: supply_operations, shipment_operations, transfer_operations. Filtrovať sklady, ktorých celkový počet operácií je viac ako 2 a priemerný čas spracovania nepresahuje 60 minút. Usporiadať výsledok podľa ID skladu vzostupne. Formát vstupu Tabuľka operations: • operation_id (int) — jedinečný identifikátor operácie • warehouse_id (int) — ID skladu • operation_type (text) — typ operácie: «dodávka», «odoslanie», «presun»

sobes.tech AI

Odpoveď od AI

Pre zostavenie správy o efektívnosti skladov môžete použiť nasledujúci SQL dopyt:

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;

Tu:

  • quantity — množstvo tovaru v operácii;
  • processing_time — čas spracovania operácie (v minútach);
  • Používajú sa agregačné funkcie na počítanie a výpočet štatistík;
  • Filter podľa počtu operácií a priemerného času spracovania;
  • Výsledok je zoradený podľa ID skladu.