runtime
52 / 139

task Query plans & SARGable filters · hard

Latest failed deliveries without a sort

Create an index so the 20 most recent delivery_failed scans can be read in order without a temporary sort, then return event_id, package_id and event_at for them, newest first.

what to return

Columns
event_idpackage_idevent_at in this order
Rows
20 rows · in the order asked
Skill
Use index order to avoid a temporary sort. Refresher: Indexes: observe a real access path →

expected result

Your query should return exactly these columns and values. Run it and compare.

expected result20 rows · in this order
event_idpackage_idevent_at
10048433272025-04-30 23:00:00
10045516992025-04-30 21:16:00
1004391972025-04-30 20:43:00

first 3 of 20 rows

data you can query

Logistics dataset: the first 6 rows of each table. Under each column name: the kind of value it holds, and which table it links to. Your queries run on all rows.

tracking_events9 columns · 100,515 rows
event_idnumber · unique idpackage_idnumber · links to packagesevent_typetextevent_atdate & timerecorded_atdate & timewarehouse_idnumber · links to warehousesevent_sourcetextexception_codetextdriver_idnumber
16359created2025-01-01 00:03:462025-01-01 00:04:36NULLmanualNULLNULL
210950created2025-01-01 00:33:122025-01-01 00:35:16NULLmanualNULLNULL
32045created2025-01-01 00:35:002025-01-01 00:37:08NULLmanualNULLNULL
45977created2025-01-01 00:47:342025-01-01 00:48:13NULLmanualNULLNULL
54930created2025-01-01 00:55:092025-01-01 00:57:10NULLmanualNULLNULL
66331created2025-01-01 01:34:232025-01-01 01:35:30NULLmanualNULLNULL
event_idnumber · unique id
1
package_idnumber · links to packages
6359
event_typetext
created
event_atdate & time
2025-01-01 00:03:46
recorded_atdate & time
2025-01-01 00:04:36
warehouse_idnumber · links to warehouses
NULL
event_sourcetext
manual
exception_codetext
NULL
driver_idnumber
NULL
event_idnumber · unique id
2
package_idnumber · links to packages
10950
event_typetext
created
event_atdate & time
2025-01-01 00:33:12
recorded_atdate & time
2025-01-01 00:35:16
warehouse_idnumber · links to warehouses
NULL
event_sourcetext
manual
exception_codetext
NULL
driver_idnumber
NULL
event_idnumber · unique id
3
package_idnumber · links to packages
2045
event_typetext
created
event_atdate & time
2025-01-01 00:35:00
recorded_atdate & time
2025-01-01 00:37:08
warehouse_idnumber · links to warehouses
NULL
event_sourcetext
manual
exception_codetext
NULL
driver_idnumber
NULL
event_idnumber · unique id
4
package_idnumber · links to packages
5977
event_typetext
created
event_atdate & time
2025-01-01 00:47:34
recorded_atdate & time
2025-01-01 00:48:13
warehouse_idnumber · links to warehouses
NULL
event_sourcetext
manual
exception_codetext
NULL
driver_idnumber
NULL
event_idnumber · unique id
5
package_idnumber · links to packages
4930
event_typetext
created
event_atdate & time
2025-01-01 00:55:09
recorded_atdate & time
2025-01-01 00:57:10
warehouse_idnumber · links to warehouses
NULL
event_sourcetext
manual
exception_codetext
NULL
driver_idnumber
NULL
event_idnumber · unique id
6
package_idnumber · links to packages
6331
event_typetext
created
event_atdate & time
2025-01-01 01:34:23
recorded_atdate & time
2025-01-01 01:35:30
warehouse_idnumber · links to warehouses
NULL
event_sourcetext
manual
exception_codetext
NULL
driver_idnumber
NULL

first 6 of 100,515 rows · your queries use all of them

solution.sql
 

Hints and the answer are always available. Using them counts the question as solved with help.

Latest failed deliveries without a sort — SQL practice · Runtime