Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started
SQL for Top Usage Customers
00:00
5 left

SQL for Top Usage Customers

MediumSQL · PostgreSQL

Problem

Write a SQL query to find the top 10% of customers by usage volume over the last 30 days at Infoblox.

Assume usage volume is stored in usage_events.usage_volume. Include customers with no qualifying usage as zero, and use the current date to define the 30-day period.

Output

  1. One row per qualifying customer with customer_id, customer_name, and total_usage.
  2. Include only the top 10% of customers, rounded up to at least one customer.
  3. Order by total_usage descending, then customer_id ascending for ties.

Schema

customers
ColumnTypeDescription
customer_idPKINTUnique Infoblox customer identifier
customer_nameVARCHAR(150)Customer organization name
plan_nameVARCHAR(50)Infoblox subscription plan
usage_events
ColumnTypeDescription
event_idPKINTUnique usage event identifier
customer_idINTCustomer associated with the usage event
usage_dateDATEDate on which usage occurred
usage_volumeDECIMAL(14,2)Usage volume recorded for the event
Tablescustomersusage_events
Interviewer

Your question is SQL for Top Usage Customers. 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.