Species-Based Order Tiers:Group Orders by Total Amount into Four Spending Levels per Species
Intermediate
Rank orders into 4 spending groups within each species.
Xorthax wants to categorize all orders into 4 spending tiers for each species. Write a query to rank orders by total amount within each species.
Write Your Query
Answer:
select c.species,
o.orderid,
o.totalamount,
ntile(4) over (partition by c.species
order by o.totalamount desc) as spendingtier
from orders o
join customers c on o.customerid = c.customerid;
Explanation:
It models customer segmentation where businesses analyze purchase data to identify spending behavior across demographic or category groups.
You’ll practice ranking and segmenting data within partitions to compare spending performance across multiple groups.
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.