Dataford
Interview QuestionsInterview GuidesExperiencesCoaching
New
Pricing
Get started
Dataford
Popular roles
Software EngineerData AnalystData ScientistData EngineerBusiness AnalystAI EngineerMachine Learning EngineerProduct Manager
Browse
Browse All RolesEvery role hub, from analyst to MLBrowse All CompaniesCompany-specific interview loopsAll Interview GuidesThe full guide library
Top questions by role
Software EngineerData AnalystData ScientistData EngineerBusiness AnalystAI EngineerMachine Learning EngineerProduct Manager
Top questions by skill
SQLPythonStatisticsMachine LearningA/B TestingSystem DesignGenerative AIProduct SenseMetricsBehavioral
Browse all questions →Try a mock interview
Experiences
Practice
Mock InterviewsTimed interview simulations with feedbackCoaching1:1 coaching with people at your target companiesSuccess PathYour 6-week structured planModulesCurated lessons by topicWebinarsTalks from ex-Big Tech data leadsPlaygroundA free-form scratch editor
Learn
BlogInterview strategy and career adviceTech Job Market ReportHiring trends across data and AI rolesFor UniversitiesDataford for career centersAbout DatafordWho we are and how we build
Pricing
Build my plan
Rolling 30-Day Average Equipment Usage
00:00
5 left

Rolling 30-Day Average Equipment Usage

MediumSQL · PostgreSQL

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
Interviewer

Your question is Rolling 30-Day Average Equipment Usage. Start with the requirements and the one table in the Question tab.

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.
CodePostgreSQL
Sign up free to run your codeLog inLn 1
Run your query to see results here.