Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Learn Challenge: Monthly VIP Customer Report | CASE WHEN for Aggregates and Reporting
Mastering CASE WHEN in SQL
Section 4. Chapter 6
single

single

bookChallenge: Monthly VIP Customer Report

Swipe to show menu

Task

Swipe to start coding

Write a SQL query to generate a monthly VIP customer report based on transaction history.

  • Use the transactions table which contains transaction_date, customer_id, and amount columns.
  • Select month (formatted as 'YYYY-MM' using TO_CHAR), customer_id, total_amount, transaction_count, and vip_status.
  • Group by month and customer_id.
  • Calculate total_amount as SUM(amount) and transaction_count as COUNT(*) per customer per month.
  • Use CASE WHEN to set vip_status = 'VIP' if total_amount >= 500 AND transaction_count >= 2, otherwise NULL.
  • Use HAVING to return only rows where both VIP conditions are met.

Solution

Switch to desktopSwitch to desktop for real-world practiceContinue from where you are using one of the options below
Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 4. Chapter 6
single

single

Ask AI

expand

Ask AI

ChatGPT

Ask anything or try one of the suggested questions to begin our chat

some-alt