Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Rank Customers by Premium by Region

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

Your question is Rank Customers by Premium by Region. 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

The Hartford wants to compare customer premium contribution across its regional markets. Write a PostgreSQL query that aggregates posted policy premiums by customer and ranks customers within each region.

Requirements

  1. Join customers to policy transactions and include only transactions with a posted status.
  2. Treat NULL premium amounts as zero and exclude customers whose region is unknown.
  3. Calculate each customer's total premium and use RANK() partitioned by region, with highest totals ranked first. Preserve ties and sort the final output by region, rank, and customer ID.

Schema

customers
ColumnTypeDescription
customer_idPKINTUnique customer identifier
customer_nameVARCHAR(100)Customer's full name
regionVARCHAR(50)Regional market assigned to the customer
policy_transactions
ColumnTypeDescription
transaction_idPKINTUnique policy transaction identifier
customer_idINTCustomer associated with the transaction
premium_amountNUMERIC(12,2)Premium amount contributed by the transaction
transaction_statusVARCHAR(20)Current transaction status
Tablescustomerspolicy_transactions
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results