Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Top 5 Products by Revenue

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

Your question is Top 5 Products by Revenue. Start with the requirements and the two 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

Closer Consulting needs a revenue ranking for products sold through its analytics operations. Write a PostgreSQL query to return the five products with the highest revenue from completed sales.

Requirements

  1. Consider only sales where status = 'completed' and calculate revenue as quantity * unit_price.
  2. Aggregate revenue by product, joining the sales results to the products table to display the product name.
  3. Return the top five products, ordered by total revenue descending. Use product_id as a secondary sort for deterministic results.

Schema

products
ColumnTypeDescription
product_idPKINTEGERUnique product identifier
product_nameVARCHAR(100)Product name
categoryVARCHAR(50)Product category
sales
ColumnTypeDescription
sale_idPKINTEGERUnique sale identifier
product_idINTEGERProduct identifier associated with the sale
quantityINTEGERNumber of units sold
unit_priceNUMERIC(12,2)Price charged per unit
statusVARCHAR(20)Sale processing status
Tablessalesproducts
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results