runtime
121 / 139

task LAG / LEAD · medium

Back-to-back failed deliveries

Return package_id, attempt_number, previous_outcome and outcome for every attempt that failed (outcome other than 'delivered') directly after a failed attempt.

what to return

Columns
package_idattempt_numberprevious_outcomeoutcome in this order
Rows
248 rows · any order
Skill
Find consecutive failures in an attempt sequence. Refresher: Compare rows with LAG →

expected result

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

expected result248 rows · any order
package_idattempt_numberprevious_outcomeoutcome
602recipient_absentaddress_issue
1102address_issuerecipient_absent
2842address_issuerecipient_absent

first 3 of 248 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.

delivery_attempts6 columns · 12,700 rows
attempt_idnumber · unique idpackage_idnumber · links to packagesattempt_numbernumberattempted_atdate & timeoutcometextdriver_notetext
1112025-01-24 16:34:00deliveredNULL
2212025-01-24 00:31:00deliveredNULL
3312025-04-11 19:15:00deliveredNULL
4412025-03-10 22:37:00deliveredHanded to resident
5512025-04-09 18:01:00deliveredNULL
6612025-01-22 23:16:00deliveredNULL
attempt_idnumber · unique id
1
package_idnumber · links to packages
1
attempt_numbernumber
1
attempted_atdate & time
2025-01-24 16:34:00
outcometext
delivered
driver_notetext
NULL
attempt_idnumber · unique id
2
package_idnumber · links to packages
2
attempt_numbernumber
1
attempted_atdate & time
2025-01-24 00:31:00
outcometext
delivered
driver_notetext
NULL
attempt_idnumber · unique id
3
package_idnumber · links to packages
3
attempt_numbernumber
1
attempted_atdate & time
2025-04-11 19:15:00
outcometext
delivered
driver_notetext
NULL
attempt_idnumber · unique id
4
package_idnumber · links to packages
4
attempt_numbernumber
1
attempted_atdate & time
2025-03-10 22:37:00
outcometext
delivered
driver_notetext
Handed to resident
attempt_idnumber · unique id
5
package_idnumber · links to packages
5
attempt_numbernumber
1
attempted_atdate & time
2025-04-09 18:01:00
outcometext
delivered
driver_notetext
NULL
attempt_idnumber · unique id
6
package_idnumber · links to packages
6
attempt_numbernumber
1
attempted_atdate & time
2025-01-22 23:16:00
outcometext
delivered
driver_notetext
NULL

first 6 of 12,700 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.

Back-to-back failed deliveries — SQL practice · Runtime