Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Running 7-Day Transaction Average

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

Your question is Running 7-Day Transaction Average. 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

Plaid wants to monitor transaction activity for users connected through Plaid Transactions. Write a PostgreSQL query that calculates a calendar-aware rolling 7-day average of daily transaction counts for each active user.

Requirements

  1. Count transactions per user for every calendar date between the minimum and maximum transaction dates.
  2. Include dates with zero transactions so the average represents seven calendar days.
  3. Use a window function partitioned by user and ordered by date, then return results by user and date.

Schema

users
ColumnTypeDescription
user_idPKINTUnique Plaid user identifier
user_nameVARCHAR(100)User display name
account_statusVARCHAR(20)User account status
transactions
ColumnTypeDescription
transaction_idPKINTUnique transaction identifier
user_idINTUser associated with the transaction
transaction_dateDATETransaction posting date
merchant_nameVARCHAR(100)Merchant associated with the transaction
amountNUMERIC(10,2)Transaction amount
Tablesuserstransactions
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results