Five Transaction Trail Tracker:Analyze Customer Spending Trends with Rolling Transaction Totals
Intermediate
Measure each customer's spending trend over their last five transactions.
Xorthax wants to see customer spending behavior over time. For each customer, return their order date, total amount and the rolling five transaction total for all transactions.
Write Your Query
Answer:
select o.customerid,
o.orderdate,
o.totalamount,
sum(o.totalamount) over (partition by o.customerid
order by o.orderdate rows between 4 preceding and current row) as rollingspending
from orders o;
Explanation:
This mirrors analyzing customer purchase behavior over recent transactions to spot trends or shifts in spending.
You will practice creating rolling calculations over ordered data to measure behavior across defined time windows.
This problem is labeled as Intermediate. It assumes you’ve written a few window function queries before, but you don’t need to be an expert. Use the hints and explanations if you get stuck — they’re there to help you think through the logic.
Yes. Every problem comes with optional hints you can reveal one at a time, plus a fully worked step-by-step solution. You decide how much help you want while practicing.
All problems on PracticeWindowFunctions.com are completely free and can be solved without creating an account. Right now there are over 80 practice problems, with new ones added regularly.