Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

SQL Average for On-Time Customers

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

Your question is SQL Average for On-Time Customers. Start with the requirements and the three 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

American Credit Acceptance wants to identify the average original loan principal for customers whose payment records show no missed payments during the most recent six-month review period. Assume the reporting date is July 1, 2024, so the review period runs from January 1 through June 30, 2024.

Write a PostgreSQL query that returns the average loan amount for loans belonging to qualifying customers.

Requirements

  1. Evaluate only payment due dates from January 1 through June 30, 2024.
  2. Treat a customer as qualified only when they have at least one payment in the period and every reviewed payment has a payment_status of PAID.
  3. Exclude customers with MISSED, LATE, or NULL payment statuses.
  4. Return one value named average_loan_amount, rounded to two decimal places.

Schema

customers
ColumnTypeDescription
customer_idPKINTUnique American Credit Acceptance customer identifier
customer_nameVARCHAR(100)Customer full name
loans
ColumnTypeDescription
loan_idPKINTUnique loan identifier
customer_idINTCustomer who owns the loan
loan_amountNUMERIC(12,2)Original loan principal
loan_typeVARCHAR(50)Loan product classification
payments
ColumnTypeDescription
payment_idPKINTUnique payment record identifier
loan_idINTLoan associated with the payment
due_dateDATEScheduled payment due date
payment_statusVARCHAR(20)Payment status, such as PAID, LATE, or MISSED
Tablescustomersloanspayments
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results