Bird
0
0

You have a table Transactions with columns user_id and transaction_value. Which query calculates the average transaction value for each user?

hard📝 Application Q8 of 15
SQL - Aggregate Functions
You have a table Transactions with columns user_id and transaction_value. Which query calculates the average transaction value for each user?
ASELECT user_id, AVG(transaction_value) FROM Transactions GROUP BY user_id;
BSELECT AVG(transaction_value) FROM Transactions WHERE user_id;
CSELECT user_id, SUM(transaction_value)/COUNT(user_id) FROM Transactions;
DSELECT user_id, AVG(transaction_value) FROM Transactions;
Step-by-Step Solution
Solution:
  1. Step 1: Understand grouping

    To get average per user, group by user_id is required.
  2. Step 2: Check query syntax

    SELECT user_id, AVG(transaction_value) FROM Transactions GROUP BY user_id; uses GROUP BY user_id with AVG(), which is correct.
  3. Step 3: Evaluate other options

    SELECT AVG(transaction_value) FROM Transactions WHERE user_id; is invalid syntax; SELECT user_id, SUM(transaction_value)/COUNT(user_id) FROM Transactions; lacks GROUP BY and uses manual average; SELECT user_id, AVG(transaction_value) FROM Transactions; lacks GROUP BY, so returns overall average.
  4. Final Answer:

    SELECT user_id, AVG(transaction_value) FROM Transactions GROUP BY user_id; -> Option A
  5. Quick Check:

    Use GROUP BY to get averages per group [OK]
Quick Trick: GROUP BY user_id with AVG() calculates per-user average [OK]
Common Mistakes:
MISTAKES
  • Omitting GROUP BY when aggregating per user
  • Using invalid WHERE clause for grouping
  • Calculating average manually without grouping

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More SQL Quizzes