📊 Day 18 - Data Download

Food Delivery Order Lifecycle Analysis

Download all 5 tables with complete messy data (50+ orders, 20 customers, 12 riders)

Order Lifecycle TIMESTAMPDIFF Window Functions Complex JOINs CTEs

Table 1: orders (50 rows)

order_idcustomer_idrestaurant_idrider_idorder_timedelivery_timeorder_valuestatus
ORD001 C101 R201 RID3012024-02-10 12:30:002024-02-10 13:15:00450.00delivered
ord002 c102 R202NULL10/02/2024 13:00NULLNULLCANCELLED
ORD003C103r203RID3022024-02-10 14:15:002024-02-10 15:00:00680.50 Delivered
ORD004c104 R204 rid30311/02/2024 12:0011/02/2024 12:50320.00delivered
ord005C105R201RID3042024-02-11 18:30:002024-02-11 19:20:00550.00DELIVERED
ORD006C106 R205 RID3052024-02-11 12:15:002024-02-11 13:00:00380.00delivered
ord007 c107 R206RID30612/02/2024 13:3012/02/2024 14:20NULLDelivered
ORD008C108R207rid3072024-02-12 19:00:002024-02-12 19:55:00720.00DELIVERED
ORD009c109 R208 RID30813/02/2024 11:4513/02/2024 12:30290.00delivered
ord010C110R209NULL2024-02-13 14:00:00NULLNULLCANCELLED
ORD011C111R210RID3092024-02-13 18:15:002024-02-13 19:10:00630.00delivered
ord012 c112 R201 RID31014/02/2024 12:4514/02/2024 13:35470.00Delivered
ORD013C113R202rid3112024-02-14 13:20:002024-02-14 14:05:00NULLDELIVERED
ORD014c114R203RID31215/02/2024 19:3015/02/2024 20:25580.00delivered
ord015C115 R204 NULL2024-02-15 12:00:00NULLNULLCANCELLED
ORD016C116R205RID3012024-02-16 11:30:002024-02-16 12:20:00340.00delivered
ord017 c117 R206rid30216/02/2024 18:4516/02/2024 19:40690.00Delivered
ORD018C118R207RID3032024-02-17 12:15:002024-02-17 13:05:00NULLDELIVERED
ORD019c119 R208 RID30417/02/2024 13:0017/02/2024 13:50410.00delivered
ord020C120R209rid3052024-02-18 19:15:002024-02-18 20:10:00540.00Delivered
ORD021C101R210RID3062024-02-18 12:30:002024-02-18 13:20:00480.00DELIVERED
ord022 c102 R201 NULL19/02/2024 14:00NULLNULLCANCELLED
ORD023C103R202RID3072024-02-19 18:00:002024-02-19 18:55:00610.00delivered
ORD024c104R203rid30820/02/2024 11:4520/02/2024 12:35NULLDelivered
ord025C105R204RID3092024-02-20 13:15:002024-02-20 14:05:00370.00DELIVERED
ORD026C106 R205 RID3102024-02-21 19:30:002024-02-21 20:20:00650.00delivered
ord027 c107 R206rid31121/02/2024 12:0021/02/2024 12:50310.00Delivered
ORD028C108R207RID3122024-02-22 13:30:002024-02-22 14:25:00NULLDELIVERED
ORD029c109R208RID30122/02/2024 18:1522/02/2024 19:05570.00delivered
ord030C110 R209 NULL2024-02-23 12:45:00NULLNULLCANCELLED
ORD031C111R210RID3022024-02-23 13:00:002024-02-23 13:50:00420.00delivered
ord032 c112 R201rid30324/02/2024 19:0024/02/2024 19:50NULLDelivered
ORD033C113R202RID3042024-02-24 11:30:002024-02-24 12:20:00390.00DELIVERED
ORD034c114 R203 RID30525/02/2024 14:1525/02/2024 15:05600.00delivered
ord035C115R204rid3062024-02-25 18:30:002024-02-25 19:25:00520.00Delivered
ORD036C116R205RID3072024-02-26 12:00:002024-02-26 12:50:00NULLDELIVERED
ord037 c117 R206NULL26/02/2024 13:45NULLNULLCANCELLED
ORD038C118 R207 RID3082024-02-27 19:15:002024-02-27 20:10:00680.00delivered
ORD039c119R208rid30927/02/2024 11:4527/02/2024 12:35360.00Delivered
ord040C120R209RID3102024-02-28 13:20:002024-02-28 14:15:00NULLDELIVERED
ORD041C101R210RID3112024-02-28 18:00:002024-02-28 18:50:00490.00delivered
ord042 c102 R201 rid31229/02/2024 12:3029/02/2024 13:20430.00Delivered
ORD043C103R202RID3012024-02-29 13:45:002024-02-29 14:35:00NULLDELIVERED
ORD044c104R203RID30201/03/2024 19:3001/03/2024 20:20590.00delivered
ord045C105 R204 NULL2024-03-01 11:00:00NULLNULLCANCELLED
ORD046C106R205RID3032024-03-02 12:15:002024-03-02 13:05:00400.00delivered
ord047 c107 R206rid30402/03/2024 18:4502/03/2024 19:40660.00Delivered
ORD048C108R207RID3052024-03-03 13:00:002024-03-03 13:50:00NULLDELIVERED
ORD049c109 R208 RID30603/03/2024 12:3003/03/2024 13:25510.00delivered
ord050C110R209rid3072024-03-04 19:00:002024-03-04 19:55:00440.00Delivered

Table 2: riders (12 rows)

rider_idrider_namephonejoin_dateratingtotal_deliveries
RID301 amit kumar 98765432102023-08-154.7856
rid302PRIYA SINGH987654321115/09/2023NULL624
RID303rajesh patel98765432122023-10-054.5NULL
RID304 NEHA SHARMA 987654321310-11-20234.9789
rid305VIKRAM RAO98765432142023-12-204.6512
RID306kavita desai98765432152024-01-104.8NULL
rid307 RAHUL MEHTA 987654321615-01-2024NULL423
RID308ANJALI VERMA98765432172024-01-254.7567
rid309suresh kumar987654321801/02/20244.4NULL
RID310 POOJA SHAH 98765432192024-02-054.9298
rid311manoj tiwari987654322010-02-20244.6NULL
RID312 REKHA PILLAI 98765432212024-02-154.8189

Table 3: restaurants (15 rows)

restaurant_idrestaurant_namecuisine_typecityratingavg_prep_time
R201pizza palaceItalian mumbai 4.325
r202 BURGER KING Fast FoodDelhiNULL15
R203SPICE GARDENIndianbangalore4.730
R204sushi hubJapanese MUMBAI 4.5NULL
r205Taco BellMexicanDelhi4.220
R206 CHINESE WOK Chinesebangalore4.4NULL
r207dominos pizzaItalianmumbai4.122
R208KFCFast Food Delhi NULL18
R209 mcdonald's Fast FoodBANGALORE4.0NULL
r210SUBWAYFast FoodMumbai4.312
R211biryani houseIndiandelhi4.635
R212 PASTA POINT ItalianbangaloreNULL28
r213THAI CURRYThai Mumbai 4.5NULL
R214starbucksCafeDelhi4.210
r215 CAFE COFFEE DAY CafeBANGALORE4.1NULL

Table 4: customers (20 rows)

customer_idcustomer_namesignup_datecitytotal_orders
C101john doe2024-01-05 mumbai 28
c102 SARAH KHAN 10/01/2024DelhiNULL
C103MIKE WILSON2024-01-12bangalore35
C104anna garcia15-01-2024 MUMBAI 12
c105Bob Martin2024-01-18Delhi22
C106 EMMA BROWN 20/01/2024bangaloreNULL
c107david johnson2024-01-22mumbai19
C108LISA ANDERSON25-01-2024 Delhi 31
c109 james taylor 2024-01-28BANGALORENULL
C110MARIA MARTINEZ01/02/2024Mumbai16
c111william davis2024-02-03delhi24
C112 sophia rodriguez 05-02-2024 Bangalore NULL
c113ROBERT WILSON2024-02-07MUMBAI27
C114jennifer lee09/02/2024delhi18
c115 MICHAEL THOMAS 2024-02-11bangaloreNULL
C116emily white13-02-2024 Mumbai 21
C117 DANIEL HARRIS 2024-02-15DelhiNULL
c118OLIVIA MOORE2024-02-17BANGALORE29
C119christopher clark19-02-2024mumbaiNULL
c120 MADISON LEWIS 2024-02-21 Delhi 23

Table 5: order_status_log (35 rows)

log_idorder_idstatustimestampnotes
L001ORD001placed2024-02-10 12:30:00Order received
L002 ord001 CONFIRMED10/02/2024 12:35 restaurant confirmed
L003ORD001preparing2024-02-10 12:40:00NULL
L004ORD001OUT_FOR_DELIVERY2024-02-10 13:00:00Rider assigned
L005ord001delivered2024-02-10 13:15:00 delivered successfully
L006ORD003placed2024-02-10 14:15:00Order received
L007 ORD003 confirmed10/02/2024 14:20NULL
L008ord003PREPARING2024-02-10 14:25:00 cooking started
L009ORD003out_for_delivery2024-02-10 14:45:00Rider picked up
L010ORD003DELIVERED10/02/2024 15:00 completed
L011ORD004placed2024-02-11 12:00:00Order received
L012 ord004 CONFIRMED11/02/2024 12:05NULL
L013ORD004preparing2024-02-11 12:10:00 in kitchen
L014ord004OUT_FOR_DELIVERY11/02/2024 12:30Rider assigned
L015ORD004delivered2024-02-11 12:50:00 delivered
L016ORD005PLACED2024-02-11 18:30:00Order received
L017 ord005 confirmed11/02/2024 18:35NULL
L018ORD005PREPARING2024-02-11 18:40:00 preparing food
L019ord005out_for_delivery11/02/2024 19:00Rider on way
L020ORD005DELIVERED2024-02-11 19:20:00 successfully delivered
L021ORD006placed2024-02-11 12:15:00Order received
L022 ORD006 CONFIRMED11/02/2024 12:20NULL
L023ord006preparing2024-02-11 12:25:00 cooking
L024ORD006OUT_FOR_DELIVERY11/02/2024 12:45Rider picked up
L025ORD006delivered2024-02-11 13:00:00 delivered
L026ORD008PLACED2024-02-12 19:00:00Order received
L027 ord008 confirmed12/02/2024 19:05NULL
L028ORD008PREPARING2024-02-12 19:10:00 in preparation
L029ord008out_for_delivery12/02/2024 19:35Rider assigned
L030ORD008DELIVERED2024-02-12 19:55:00 completed successfully
L031ORD011placed2024-02-13 18:15:00Order received
L032 ORD011 CONFIRMED13/02/2024 18:20NULL
L033ord011preparing2024-02-13 18:25:00 food being prepared
L034ORD011OUT_FOR_DELIVERY13/02/2024 18:50Rider on way
L035ORD011delivered2024-02-13 19:10:00 delivered

📌 How to Import into MySQL/PostgreSQL

MySQL:

1. Create database: CREATE DATABASE food_delivery;

2. Import CSV: LOAD DATA INFILE 'path/orders.csv' INTO TABLE orders FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS;


PostgreSQL:

1. Create database: CREATE DATABASE food_delivery;

2. Import CSV: \COPY orders FROM 'path/orders.csv' WITH (FORMAT csv, HEADER true);


Note: Create tables first with appropriate column types before importing!