Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

SQL Segmentation by Outcome

MediumSQL · PostgreSQL00:00
Practice interviewer
In session
5 left
00:00

Your question is SQL Segmentation by Outcome. Start with the requirements and the three tables on the right.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

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

Problem

How would you use SQL to segment orders by region, retailer, and delivery outcome?

Use the provided orders, regions, and retailers data. Classify each order's delivery outcome from its status and timing, while retaining orders with missing region or retailer references.

Output

  1. One row per region, retailer, and delivery outcome
  2. Columns: region_name, retailer_name, delivery_outcome, order_count, total_order_value, and avg_delivery_minutes
  3. Include all orders, label missing dimension values as Unknown, and sort by region, retailer, and outcome

Schema

orders
ColumnTypeDescription
order_idPKINTUnique order identifier
region_idINTRegion reference
retailer_idINTRetailer reference
order_valueDECIMAL(10,2)Order value in dollars
delivery_statusVARCHAR(20)Recorded delivery status
placed_atTIMESTAMPOrder placement timestamp
promised_atTIMESTAMPPromised delivery timestamp
delivered_atTIMESTAMPActual delivery timestamp
regions
ColumnTypeDescription
region_idPKINTUnique region identifier
region_nameVARCHAR(50)Region display name
retailers
ColumnTypeDescription
retailer_idPKINTUnique retailer identifier
retailer_nameVARCHAR(80)Retailer display name
Tablesordersregionsretailers
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results