Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Month-over-Month Sales SQL

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

Your question is Month-over-Month Sales SQL. 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

Business Context

Daimler Truck North America wants to monitor monthly truck sales performance across sales regions and identify regional increases or declines.

Task

Write a PostgreSQL query that compares monthly truck sales by region from January through April 2024.

Requirements

  1. Join truck_sales to regions using region_id.
  2. Aggregate sales by region and calendar month.
  3. Use LAG to return the prior available month’s sales for each region.
  4. Calculate the absolute and percentage month-over-month change. Return the results ordered by region and month. If there is no prior month or the prior value is zero, return NULL for percentage change.

Schema

regions
ColumnTypeDescription
region_idPKINTUnique sales region identifier
region_nameVARCHAR(50)Daimler Truck sales region name
truck_sales
ColumnTypeDescription
sale_idPKINTUnique truck sale identifier
region_idINTRegion associated with the sale
sale_dateDATEDate on which the sale was recorded
sale_amountNUMERIC(12,2)Sale value in US dollars
Tablesregionstruck_sales
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results