Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started
SQL Price Drop Flagging
00:00
5 left

SQL Price Drop Flagging

MediumSQL · PostgreSQL

Problem

Write a SQL query to compare current-day commodity prices against the prior day and flag assets with a drop greater than 5%.

Use the latest available price date as the current day. Compare only with an actual calendar prior day, and exclude assets without a valid prior-day price.

Output

  1. One row per asset with a qualifying price drop
  2. Columns: asset_id, asset_name, current_price, prior_price, and pct_change
  3. Include only drops below -5%, ordered by pct_change ascending, then asset_id ascending

Schema

assets
ColumnTypeDescription
asset_idPKINTUnique identifier for a commodity asset
asset_nameVARCHAR(100)Display name of the asset
commodity_typeVARCHAR(50)Commodity classification
commodity_prices
ColumnTypeDescription
price_idPKINTUnique price observation identifier
asset_idINTReferenced commodity asset
price_dateDATEDate of the price observation
priceNUMERIC(12,4)Commodity price for the asset and date
Tablesassetscommodity_prices
Interviewer

Your question is SQL Price Drop Flagging. Start with the requirements and the two tables in the Question tab.

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.
CodePostgreSQL
You need to log in / sign up to run or submit.Ln 1
Run your query to see results here.