SQL Quest › SQL Interview Questions › Window Functions

7-Day Rolling Revenue Average

HardFreeQuerying BasicsWindow FunctionsSubqueries & CTEsAggregation & Grouping

Calculate a 7-day rolling average of daily revenue to smooth noise. First aggregate to daily revenue, then compute: day, daily_revenue, and rolling_7day_avg (average of current day + up to 6 preceding days, rounded to 2 dec). Sort by day. The first 6 rows will naturally have smaller windows — that is expected.

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". Free accounts get 10 free challenge solves, and this can be one of them.

Schema

orders

order_idcustomer_idproductcategoryquantitypricetotalorder_datecountrystatus
11Laptop ProElectronics11299.991299.992024-01-15USAcompleted
22Wireless MouseElectronics249.9999.982024-01-16Canadacompleted
33Office ChairFurniture1349.99349.992024-01-17USAcompleted

Expected output: Each day with its rolling 7-day average revenue

Hint

Use a CTE for daily totals, then AVG(daily_revenue) OVER (ORDER BY day ROWS BETWEEN 6 PRECEDING AND CURRENT ROW) for the rolling window

Concepts

SELECT Window Functions CTE Frame Clause GROUP BY

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

Read the concept: SQL running total

In these company practice sets

Airbnb · Amazon · Databricks · NVIDIA · Netflix · Snowflake · Spotify · Stripe · Tesla · DoorDash

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

Related questions

Rank Movies by RatingHard · ProSalary Lead-Lag Gap Within DepartmentHard · ProTop Earner Per DepartmentHard · Pro3-Movie Rolling Average RevenueHard · ProFare Percentile RankingHard · ProRevenue Share by Category (Window %)Hard · Pro

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