All problems

Launch Week Trips

easySQLFilteringDates

UrbanHop ran a marketing push over the first week of June — the 1st to the 7th, both days included — and ops has to pull every booking from that window before the post-mortem meeting. Both outcomes are wanted: the point of the review is partly to see whether the extra demand outran the drivers available, and cancellations are the evidence for that.

Dates are stored as text in ISO form, YYYY-MM-DD. The meeting works down the list day by day, and several bookings can share a day, so the sequence has to be settled all the way down.

rides — one row per booking. rider_id points at a row in riders and driver_id at a row in drivers. distance_km is the trip length in kilometres and fare the price in dollars; both are recorded when the booking is made, so a booking that never happened still carries them. status is either completed or cancelled. ride_date is the day the ride was booked for.

id rider_id driver_id distance_km fare ride_date status
1 1 1 5.2 12.5 2023-06-01 completed
2 1 4 3.0 8.0 2023-06-03 completed
3 2 2 10.0 22.0 2023-06-02 completed
4 3 1 2.1 6.5 2023-06-05 cancelled
5 3 4 4.4 11.0 2023-06-06 completed
6 4 3 7.8 18.0 2023-06-04 completed
7 5 2 1.5 5.0 2023-06-07 cancelled
8 2 2 12.3 26.5 2023-06-10 completed
9 1 1 6.6 15.0 2023-06-12 completed
10 4 3 3.3 9.0 2023-06-15 completed
11 5 2 8.8 19.5 2023-06-18 completed
12 3 4 2.9 7.5 2023-06-20 cancelled

The table already exists in the database — there is nothing to create or load.

Task: Write a query that returns id, ride_date and status for every booking dated from 2023-06-01 to 2023-06-07, both endpoints included. Earliest day first; bookings on the same day are separated by id, smallest first.

Example output

If the window in question had held three bookings, they would come back like this — invented rows, real status wording:

id ride_date status
41 2022-09-01 completed
22 2022-09-02 cancelled
35 2022-09-02 completed

Sign in to solve this problem

Reading problems is free for everyone — solving them (Run, Submit, and tracking what you've solved) needs an account.

Sign in

Discussion

Sign in to join the discussion — reading is open to everyone.

Loading comments…