Find Average Order Amount for Each Customer
SQL coding challenge · Difficulty: easy · +50 XP
Problem
The pricing team wants to understand average basket size per customer. Only include customers who have placed at least one order.
Tables
Table: customers
| customer_id | customer_name | status | register_date | | --- | --- | --- | --- | | 1 | Krishna | Active | 2024-05-01 | | 2 | Parvati | Active | 2024-05-10 | | 3 | Atul | Inactive | 2024-04-01 | | 4 | Pinki | Active | 2024-05-20 | | 5 | Sudheer | Active | 2024-04-01 |
Table: orders
| order_id | customer_id | order_date | order_amount | | --- | --- | --- | --- | | 101 | 1 | 2024-05-01 | 500 | | 102 | 1 | 2024-05-05 | 800 | | 103 | 1 | 2024-05-10 | 200 | | 104 | 2 | 2024-05-02 | 1200 | | 105 | 2 | 2024-05-08 | 600 | | 106 | 3 | 2024-05-03 | 300 | | 107 | 4 | 2024-05-04 | 200 | | 108 | 4 | 2024-05-09 | 400 | | 109 | 4 | 2024-05-11 | 700 | | 110 | 4 | 2024-05-12 | 350 | | 111 | 4 | 2024-05-13 | 450 | | 112 | 4 | 2024-05-14 | 600 | | 113 | 1 | 2024-06-05 | 1000 | | 114 | 2 | 2024-06-10 | 900 |
Expected Output
| customer_id | customer_name | avg_amount | | --- | --- | --- | | 1 | Krishna | 625.000000 | | 2 | Parvati | 900.000000 | | 3 | Atul | 300.000000 | | 4 | Pinki | 450.000000 |
- Return:
customer_id,customer_name,avg_order_amount(rounded to 2 decimal places) - Only customers with at least 1 order
- Sort by
avg_order_amountdescending