Bird
0
0

Given a table orders with columns order_id, customer_id, and status, write a query to find the number of customers who have placed at least one order with status 'completed'.

hard📝 Application Q9 of 15
SQL - Aggregate Functions
Given a table orders with columns order_id, customer_id, and status, write a query to find the number of customers who have placed at least one order with status 'completed'.
ASELECT COUNT(customer_id) FROM orders WHERE status = 'completed';
BSELECT COUNT(*) FROM orders WHERE status = 'completed';
CSELECT COUNT(DISTINCT customer_id) FROM orders WHERE status = 'completed';
DSELECT COUNT(DISTINCT order_id) FROM orders WHERE status = 'completed';
Step-by-Step Solution
Solution:
  1. Step 1: Filter orders with status 'completed'

    Use WHERE status = 'completed' to select only completed orders.
  2. Step 2: Count distinct customers who placed these orders

    Use COUNT(DISTINCT customer_id) to count unique customers.
  3. Final Answer:

    SELECT COUNT(DISTINCT customer_id) FROM orders WHERE status = 'completed'; -> Option C
  4. Quick Check:

    COUNT(DISTINCT customer_id) counts unique customers [OK]
Quick Trick: Use COUNT(DISTINCT customer_id) to count unique customers [OK]
Common Mistakes:
MISTAKES
  • Counting orders instead of customers
  • Using COUNT(customer_id) which counts duplicates
  • Using COUNT(*) which counts rows, not customers

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More SQL Quizzes