Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started
Rolling 7-Day Average Per Smart Meter
00:00
5 left

Rolling 7-Day Average Per Smart Meter

MediumSQL · PostgreSQL

Problem

Write a query to calculate the rolling 7-day average of energy consumption per smart meter for EDF.

Use the meter_readings table. Treat each row as a meter reading for a date, retain dates whose consumption is NULL, and calculate averages from available non-NULL daily values.

Output

  1. One row per smart meter and reading date
  2. Columns: meter_id, reading_date, daily_consumption, and rolling_7_day_avg
  3. Include the current date and the six preceding calendar days in each rolling period
  4. Order by meter_id, then reading_date

Schema

meter_readings
ColumnTypeDescription
reading_idPKINTUnique identifier for the meter reading
meter_idVARCHAR(20)Smart meter identifier
reading_dateDATEDate of the energy reading
consumption_kwhNUMERIC(10,2)Energy consumption in kilowatt-hours
Tablesmeter_readings
Interviewer

Your question is Rolling 7-Day Average Per Smart Meter. 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
You need to log in / sign up to run or submit.Ln 1
Run your query to see results here.