How Much More Did They Order?:Analyze Changes in Product Order Quantities Across Time
Intermediate
Track changes in quantity across each product's order timeline.
Xorthax wants to analyze purchasing patterns. For each Product ID, calculate the change in order quantity compared to the previous order (as determined by order date).
Write Your Query
Answer:
select od.productid,
o.orderdate,
od.quantity,
lag(od.quantity, 1) over (partition by od.productid
order by o.orderdate) as previousquantity,
od.quantity - lag(od.quantity, 1) over (partition by od.productid
order by o.orderdate) as quantitychange
from orderdetails od
join orders o on od.orderid = o.orderid;
Explanation:
This mirrors monitoring sales fluctuations by tracking how product demand shifts from one order to the next.
You will practice comparing sequential records to identify changes and trends across ordered data.
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.