Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Window Rank Customers by Premium

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

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

Plymouth Rock Assurance wants to compare customer premium totals within each state for its Personal Lines portfolio. Write a PostgreSQL query that ranks customers by the total annual premium from their active policies.

Requirements

  1. Sum active policy premiums for each customer, including customers with no active policies as a total of zero.
  2. Rank customers separately within each non-null state using RANK(), with the highest total premium receiving rank 1. Customers tied on premium must share the same rank.
  3. Return the customer name, state, total premium, and rank, ordered by state, premium descending, and customer ID as a deterministic tie-breaker.

Schema

customers
ColumnTypeDescription
customer_idPKINTEGERUnique customer identifier
customer_nameVARCHAR(100)Customer full name
state_codeCHAR(2)Two-letter state of residence
policies
ColumnTypeDescription
policy_idPKINTEGERUnique policy identifier
customer_idINTEGERCustomer associated with the policy
annual_premiumNUMERIC(12,2)Annual premium amount
policy_statusVARCHAR(20)Current policy status
Tablescustomerspolicies
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results