| |
| USE supply_chain_db; |
|
|
| |
| |
| |
|
|
| |
| SELECT customer_id, customer_fname, customer_lname, customer_city FROM customers LIMIT 5; |
|
|
| |
| SELECT COUNT(*) AS total_orders_count FROM orders; |
|
|
| |
| SELECT order_id, order_date, shipping_mode, late_delivery_risk |
| FROM orders |
| WHERE late_delivery_risk = 1 |
| LIMIT 10; |
|
|
| |
| SELECT customer_segment, COUNT(*) AS customer_count |
| FROM customers |
| GROUP BY customer_segment; |
|
|
| |
| SELECT product_name, product_price |
| FROM products |
| ORDER BY product_price DESC |
| LIMIT 5; |
|
|
|
|
| |
| |
| |
|
|
| |
| |
| SELECT |
| shipping_mode, |
| COUNT(*) AS total_orders, |
| SUM(CASE WHEN late_delivery_risk = 1 THEN 1 ELSE 0 END) AS delayed_orders, |
| ROUND(SUM(CASE WHEN late_delivery_risk = 1 THEN 1 ELSE 0 END) * 100.0 / COUNT(*), 2) AS late_delivery_rate_percent, |
| ROUND(AVG(days_for_shipping_real), 2) AS avg_actual_shipping_days, |
| ROUND(AVG(days_for_shipping_scheduled), 2) AS avg_scheduled_shipping_days |
| FROM orders |
| GROUP BY shipping_mode |
| ORDER BY late_delivery_rate_percent DESC; |
|
|
|
|
| |
| |
| SELECT |
| c.customer_segment, |
| o.market, |
| o.order_region, |
| COUNT(*) AS total_orders, |
| SUM(CASE WHEN o.late_delivery_risk = 1 THEN 1 ELSE 0 END) AS delayed_orders, |
| ROUND(SUM(CASE WHEN o.late_delivery_risk = 1 THEN 1 ELSE 0 END) * 100.0 / COUNT(*), 2) AS late_delivery_rate_percent |
| FROM orders o |
| JOIN customers c ON o.order_customer_id = c.customer_id |
| GROUP BY c.customer_segment, o.market, o.order_region |
| HAVING total_orders > 100 |
| ORDER BY late_delivery_rate_percent DESC |
| LIMIT 15; |
|
|
|
|
| |
| |
| SELECT |
| cat.category_name, |
| COUNT(DISTINCT o.order_id) AS total_orders, |
| SUM(CASE WHEN o.late_delivery_risk = 1 THEN 1 ELSE 0 END) AS delayed_orders, |
| ROUND(SUM(CASE WHEN o.late_delivery_risk = 1 THEN 1 ELSE 0 END) * 100.0 / COUNT(DISTINCT o.order_id), 2) AS late_delivery_rate_percent |
| FROM orders o |
| JOIN order_items oi ON o.order_id = oi.order_id |
| JOIN products p ON oi.order_item_cardprod_id = p.product_card_id |
| JOIN categories cat ON p.product_category_id = cat.category_id |
| GROUP BY cat.category_name |
| HAVING total_orders > 50 |
| ORDER BY late_delivery_rate_percent DESC |
| LIMIT 15; |
|
|
|
|
| |
| |
| SELECT |
| o.delivery_status, |
| COUNT(DISTINCT o.order_id) AS total_orders, |
| ROUND(SUM(oi.sales), 2) AS total_sales, |
| ROUND(SUM(oi.benefit_per_order), 2) AS total_profit, |
| ROUND(AVG(oi.order_item_discount_rate) * 100, 2) AS avg_discount_rate_percent |
| FROM orders o |
| JOIN order_items oi ON o.order_id = oi.order_id |
| GROUP BY o.delivery_status |
| ORDER BY total_profit DESC; |
|
|
|
|
| |
| SELECT |
| order_country, |
| COUNT(*) AS total_orders, |
| SUM(CASE WHEN late_delivery_risk = 1 THEN 1 ELSE 0 END) AS delayed_orders, |
| ROUND(SUM(CASE WHEN late_delivery_risk = 1 THEN 1 ELSE 0 END) * 100.0 / COUNT(*), 2) AS late_delivery_rate_percent |
| FROM orders |
| GROUP BY order_country |
| HAVING total_orders > 50 |
| ORDER BY late_delivery_rate_percent DESC |
| LIMIT 10; |
|
|