Your question is Detect Financial Trends by Month. 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 are given a large financial dataset and asked to identify month-over-month revenue trends by account. Write a PostgreSQL query that returns each account’s monthly revenue, the prior month’s revenue, and the percentage change between the two. Exclude months where the current or prior revenue is missing, and sort the result so the most recent month appears first within each account.
| Column | Type | Description |
|---|---|---|
| account_idPK | INT | Primary key for each account |
| account_name | VARCHAR(100) | Readable account name |
| Column | Type | Description |
|---|---|---|
| transaction_idPK | INT | Primary key for each transaction |
| account_id | INT | References accounts.account_id |
| transaction_date | DATE | Transaction posting date |
| amount | NUMERIC(12,2) | Transaction amount; positive for revenue, negative for credits or adjustments |
| status | VARCHAR(20) | Posting status such as posted, pending, or reversed |