Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Rolling 7-Day Incident Average

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

Your question is Rolling 7-Day Incident Average. 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

Samsara's fleet operations team wants to monitor incident trends for the West Operations team. Write a PostgreSQL query that calculates the daily incident count and its rolling 7-day average from January 1 through January 10, 2025.

Requirements

  1. Include every calendar date in the requested range, including dates with zero incidents.
  2. Count only incidents associated with active vehicles assigned to the West Operations team.
  3. Use a window function to calculate the average of the current day and previous six calendar days.
  4. Return the team name, report date, daily incident count, and rolling average, ordered chronologically.

Schema

teams
ColumnTypeDescription
team_idPKINTEGERUnique operations team identifier
team_nameVARCHAR(100)Operations team name
vehicles
ColumnTypeDescription
vehicle_idPKINTEGERUnique vehicle identifier
team_idINTEGERTeam assigned to the vehicle
vehicle_labelVARCHAR(100)Fleet label displayed in Samsara
is_activeBOOLEANWhether the vehicle is active
incident_reports
ColumnTypeDescription
incident_idPKINTEGERUnique incident report identifier
vehicle_idINTEGERVehicle associated with the incident
reported_atTIMESTAMPTimestamp when the incident was reported
incident_typeVARCHAR(100)Incident category
severityVARCHAR(20)Incident severity
Tablesteamsvehiclesincident_reports
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results