Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Moving Average Delivery Times

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

Your question is Moving Average Delivery Times. Start with the requirements and the one table 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 window functions to calculate the moving average of delivery times over a week?

Use the delivery_orders table. Include completed deliveries with non-null delivery times, calculate results by delivery date, and treat the week as the current date plus the six preceding calendar days.

Output

  1. One row per date represented by an eligible delivery.
  2. Columns: delivery_date, daily_avg_delivery_minutes, and seven_day_moving_avg_minutes.
  3. Round both averages to two decimal places and order by delivery_date ascending.

Schema

delivery_orders
ColumnTypeDescription
order_idPKINTUnique identifier for the delivery order
delivered_atTIMESTAMPTimestamp when the order was delivered
delivery_time_minutesINTElapsed delivery time in minutes
delivery_statusVARCHAR(20)Delivery lifecycle status
Tablesdelivery_orders
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results