Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Top Five Products by Revenue

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

Your question is Top Five Products by Revenue. 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

Business Context

Itlize Global needs a revenue ranking for products sold through its analytics platform. Only completed orders should contribute to reported sales revenue.

Task

Write a PostgreSQL query that returns the five products with the highest sales revenue.

Requirements

  1. Join products, order_items, and orders.
  2. Calculate revenue as quantity * unit_price for each line item.
  3. Include only orders whose status is completed; treat a missing unit price as zero.
  4. Return the product name and total revenue, ordered from highest to lowest. Use product_id as a deterministic tie-breaker.

Schema

products
ColumnTypeDescription
product_idPKINTUnique product identifier
product_nameVARCHAR(150)Product display name
orders
ColumnTypeDescription
order_idPKINTUnique order identifier
order_dateDATEDate the order was placed
statusVARCHAR(20)Order processing status
order_items
ColumnTypeDescription
order_item_idPKINTUnique order line identifier
order_idINTReferences orders.order_id
product_idINTReferences products.product_id
quantityINTNumber of units on the line
unit_priceNUMERIC(10,2)Selling price per unit
Tablesproductsordersorder_items
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results