Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Deduplicate Shipment Events for Lead Time

MediumSQL · PostgreSQL00:00
I
Practice interviewer
Your interviewer
In session
I
Interviewer

Welcome to the SQL screen.

The question is on your right: Deduplicate Shipment Events for Lead Time. Read through the requirements and the three tables first.

Run and submit your code as often as you need. You also have five interviewer messages this session - want to talk through your approach, or are you ready to start coding?

You need to log in / sign up to run or submit.

Problem

You are given shipment event data from a defense supply chain workflow and need to produce accurate lead-time reporting for Lattice shipments. Some rows are duplicate event records for the same shipment and status, and some timestamps are missing. Write a PostgreSQL query that returns one row per shipment with a cleaned lead time in days from created_at to delivered time, using the earliest valid CREATED event and the latest valid DELIVERED event after deduplication. Exclude shipments where either side of the lead-time calculation is still null after cleaning.

Schema

shipments
ColumnTypeDescription
shipment_idPKINTUnique shipment identifier
supplier_idINTSupplier associated with the shipment
route_codeVARCHAR(20)Shipment route or lane code
created_atTIMESTAMPBase shipment creation timestamp
expected_delivery_dateDATEPlanned delivery date
shipment_events
ColumnTypeDescription
event_idPKINTUnique event identifier
shipment_idINTShipment tied to the event
event_typeVARCHAR(20)Event status such as CREATED, IN_TRANSIT, or DELIVERED
event_timeTIMESTAMPTimestamp of the event
source_systemVARCHAR(20)System that emitted the event
suppliers
ColumnTypeDescription
supplier_idPKINTUnique supplier identifier
supplier_nameVARCHAR(100)Supplier name
supplier_tierVARCHAR(20)Supplier tier classification
Tablesshipmentsshipment_eventssuppliers
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results