SQL QuestSQL Interview Questions › Window Functions

Moving Average with Dynamic Window

HardProQuerying BasicsWindow FunctionsSubqueries & CTEsAggregation & GroupingJoins

Calculate a 5-movie moving average of ratings for each director (by year). Show director, title, year, rating, and director_moving_avg (average of the current movie and the 4 preceding movies by the same director, ordered by year, rounded to 2 decimals). Only include directors with 3+ movies. Sort by director, year. Moving averages with PARTITION BY are asked at Netflix, Spotify, and Amazon because they test frame clause mastery.

Solve it in the browser editor →

Runs on SQLite in your browser, graded against the expected result, no signup. A wrong answer gets a diagnosis, not just "incorrect".

Schema

movies

idtitleyeargenreratingvotesrevenue_millionsruntimedirector
1Guardians of the Galaxy2014Action8.1757074333.13121James Gunn
2Prometheus2012Adventure7485820126.46124Ridley Scott
3Split2016Horror7.3157606138.12117M. Night Shyamalan

Expected output: 5th movie avg = (7+8+6+7.5+9)/5 = 7.50

Hint

This is a Pro challenge — the hint, the step-by-step tutor and the reference solution open in the app.

Concepts

SELECT Window Functions Frame Clause CTE GROUP BY HAVING JOIN

Practise the topic: SQL practice questions · Window function practice · CTE practice · GROUP BY exercises · JOIN practice · Advanced SQL interview questions

In these company practice sets

Amazon · Apple · Databricks · NVIDIA · Netflix · Snowflake · Spotify · Tesla

A SQL Quest challenge matched to patterns reported for these companies — not a question any of them has published.

Related questions

Cumulative Distinct Customers Over TimeHard · FreeSalary Rank Within DepartmentHard · FreeRunning Total RevenueHard · FreeYear-over-Year GrowthHard · Free7-Day Rolling Revenue AverageHard · FreeMulti-CTE Revenue PipelineHard · Free

Where would this cost you points in an interview?

Ten questions, no signup: a Skillmap across nine SQL skills and the one to fix first.

Take the readiness test