Junior
Извештај за логистичка компанија Ви сте аналитичар у логистичкој компанији која води евиденцију о операцијама у складишту. Треба да припремите извештај о ефикасности сваког складишта. За сваки магацин израчунајте: • укупни број операција (count_operations); • укупни број обрађених роба у магацину (sum_quantity); • просечно време обраде операције (avg_processing_time), узимајући у обзир само операције са назначеним временом (не NULL), заокружено на најближи цео број; • максималан и минималан број роба обрађених у једној операцији (max_quantity, min_quantity); • број операција сваког типа («испорука», «испорука», «пренос») у посебним колонама: supply_operations, shipment_operations, transfer_operations. Филтрирајте магацине, чији је укупни број операција већи од 2 и просечно време обраде не прелази 60 минута. Реузултат сортирајте по ID-у магацина по растућем редоследу. Формат улаза Табела operations: • operation_id (int) — јединствени идентификатор операције • warehouse_id (int) — ID магацина • operation_type (text) — тип операције: «испорука», «испорука», «пренос»
sobes.tech АИ
Одговор од АИ
Za sastavljanje izveštaja o efikasnosti skladišta, možete koristiti sledeći SQL upit:
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;
Ovde:
quantity— količina robe u operaciji;processing_time— vreme obrade operacije (u minutima);- Koriste se agregatne funkcije za brojanje i računanje statistika;
- Filtriranje po broju operacija i prosečnom vremenu obrade;
- Rezultat je sortiran po ID-u skladišta.