Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

SQL Rolling 7-Day Vehicle Averages

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

Your question is SQL Rolling 7-Day Vehicle Averages. Start with the requirements and the two 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

Rivian's telemetry analytics team wants to monitor vehicle efficiency metrics across its connected fleet. Write a PostgreSQL query that calculates a rolling 7-day average of energy_consumption_kwh for each Rivian vehicle.

Requirements

  1. Consider only telemetry events where event_type = 'drive' and the vehicle exists in rivian_vehicles.
  2. Aggregate multiple telemetry events for the same vehicle and calendar date into one daily average. Ignore NULL metric values.
  3. Use a window function to calculate the average of available daily averages from the current date and the preceding six calendar days.
  4. Return the vehicle, event date, daily average, and rolling average, ordered by vehicle and date. Round averages to two decimal places.

Schema

rivian_vehicles
ColumnTypeDescription
vehicle_idPKINTUnique vehicle identifier
modelVARCHAR(50)Rivian vehicle model
delivery_dateDATEDate the vehicle was delivered
vehicle_telemetry_events
ColumnTypeDescription
event_idPKINTUnique telemetry event identifier
vehicle_idINTVehicle associated with the event
recorded_atTIMESTAMPTimestamp when the event was recorded
event_typeVARCHAR(20)Telemetry context, such as drive or charge
energy_consumption_kwhNUMERIC(8,2)Energy consumed during the event
Tablesrivian_vehiclesvehicle_telemetry_events
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results