Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Top Categories Over Time

MediumSQL · PostgreSQL00:00
Practice interviewer
In session
5 left
00:00

Your question is Top Categories Over Time. Start with the requirements and the three tables on the right.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.

Problem

Write a query to identify top-performing product categories over a specific time period.

Use completed orders from January 1, 2025 through March 31, 2025, inclusive. Define performance using total revenue, with units sold and category name used to break ties. Exclude cancelled or returned orders and products without a category.

Output

  1. One row per category among the top three ranked categories
  2. Columns: category, total_revenue, units_sold, order_count, and performance_rank
  3. Sort by performance_rank ascending, then category ascending

Schema

orders
ColumnTypeDescription
order_idPKINTUnique order identifier
order_dateDATEDate the order was placed
statusVARCHAR(20)Order lifecycle status
order_items
ColumnTypeDescription
order_item_idPKINTUnique order-line identifier
order_idINTRelated order identifier
product_idINTRelated product identifier
quantityINTNumber of units purchased
unit_priceDECIMAL(10,2)Price per unit at purchase time
products
ColumnTypeDescription
product_idPKINTUnique product identifier
product_nameVARCHAR(100)Product display name
categoryVARCHAR(50)Product category
Tablesordersorder_itemsproducts
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results