Junior
Αναφορά για την εταιρεία logistics Είστε αναλυτής σε μια εταιρεία logistics που καταγράφει τις επιχειρήσεις σε αποθήκες. Πρέπει να ετοιμάσετε μια αναφορά για την αποδοτικότητα κάθε αποθήκης. Για κάθε αποθήκη, υπολογίστε: • το συνολικό αριθμό επιχειρήσεων (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) — αναγνωριστικός αριθμός αποθήκης • 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 αποθήκης.