Table: Delivery
| Column Name | Type |
|---|---|
| delivery_id | int |
| customer_id | int |
| order_date | date |
| customer_pref_delivery_date | date |
delivery_id is the column with unique values of this table. Each row contains information about food delivery to a customer that makes an order at some date and specifies a preferred delivery date (on the order date or after it).
If the customer's preferred delivery date is the same as the order date, then the order is called immediate, otherwise, it is scheduled.
Write a solution to find the percentage of immediate orders on each unique order_date, rounded to 2 decimal places.
Return the result table ordered by order_date in ascending order.
Table Schema
| Column Name | Type | Description |
|---|---|---|
delivery_id
PK
|
int | Unique delivery identifier |
customer_id
|
int | Customer identifier |
order_date
|
date | Date when the order was placed |
customer_pref_delivery_date
|
date | Customer's preferred delivery date |
Input & Output
| delivery_id | customer_id | order_date | customer_pref_delivery_date |
|---|---|---|---|
| 1 | 1 | 2019-08-01 | 2019-08-02 |
| 2 | 2 | 2019-08-02 | 2019-08-02 |
| 3 | 1 | 2019-08-11 | 2019-08-12 |
| 4 | 3 | 2019-08-24 | 2019-08-24 |
| 5 | 3 | 2019-08-21 | 2019-08-22 |
| 6 | 2 | 2019-08-11 | 2019-08-13 |
| 7 | 4 | 2019-08-09 | 2019-08-09 |
| order_date | immediate_percentage |
|---|---|
| 2019-08-01 | 0.00 |
| 2019-08-02 | 100.00 |
| 2019-08-09 | 100.00 |
| 2019-08-11 | 0.00 |
| 2019-08-21 | 0.00 |
| 2019-08-24 | 100.00 |
For each order date, we calculate the percentage of immediate orders. For example, on 2019-08-01, there's 1 order but it's scheduled (0% immediate). On 2019-08-02, there's 1 order and it's immediate (100%). On 2019-08-11, there are 2 orders but both are scheduled (0% immediate).
| delivery_id | customer_id | order_date | customer_pref_delivery_date |
|---|---|---|---|
| 1 | 1 | 2020-01-01 | 2020-01-01 |
| 2 | 2 | 2020-01-01 | 2020-01-02 |
| 3 | 3 | 2020-01-01 | 2020-01-01 |
| 4 | 4 | 2020-01-01 | 2020-01-03 |
| order_date | immediate_percentage |
|---|---|
| 2020-01-01 | 50.00 |
On 2020-01-01, there are 4 total orders. 2 orders are immediate (delivery_id 1 and 3) and 2 are scheduled (delivery_id 2 and 4). This gives us 2/4 = 0.5 = 50.00% immediate orders.
Constraints
-
1 ≤ delivery_id ≤ 500 -
1 ≤ customer_id ≤ 100 -
order_dateandcustomer_pref_delivery_dateare valid dates -
customer_pref_delivery_dateis on or afterorder_date