Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Rolling 30-Day Average Equipment Usage

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

Your question is Rolling 30-Day Average Equipment Usage. 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

Using SQL window functions, how would you calculate a rolling average of daily equipment usage over a 30-day period?

Use the equipment_usage table. Multiple readings on the same equipment and date should be combined, and NULL usage values should not contribute to averages. Treat each 30-day period as the current date plus the preceding 29 calendar days.

Output

  1. One row per equipment and usage date.
  2. Columns: equipment_id, usage_date, daily_usage, and rolling_30_day_avg.
  3. Include all dates represented in the data and order by equipment_id, then usage_date ascending.

Schema

equipment_usage
ColumnTypeDescription
usage_idPKINTUnique usage reading identifier
equipment_idINTIdentifier of the equipment unit
usage_dateDATECalendar date of the usage reading
usage_hoursNUMERIC(8,2)Equipment usage measured in hours
Tablesequipment_usage
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results