Bird
0
0

Which SQL query correctly calculates the percentage contribution of each product's sales to the total sales using window functions?

easy📝 Syntax Q3 of 15
SQL - Advanced Window Functions
Which SQL query correctly calculates the percentage contribution of each product's sales to the total sales using window functions?
ASELECT product, sales, (sales * 100.0) / SUM(sales) OVER () AS pct_total FROM sales;
BSELECT product, sales, (sales / SUM(sales)) * 100 AS pct_total FROM sales GROUP BY product;
CSELECT product, sales, SUM(sales) OVER (PARTITION BY product) / 100 AS pct_total FROM sales;
DSELECT product, sales, sales / SUM(sales) FROM sales;
Step-by-Step Solution
Solution:
  1. Step 1: Identify correct window function usage

    SELECT product, sales, (sales * 100.0) / SUM(sales) OVER () AS pct_total FROM sales; uses SUM(sales) OVER () to get total sales across all rows.
  2. Step 2: Calculate percent of total

    Multiplying by 100.0 converts fraction to percentage.
  3. Step 3: Check other options

    SELECT product, sales, (sales / SUM(sales)) * 100 AS pct_total FROM sales GROUP BY product; incorrectly uses GROUP BY without window function; SELECT product, sales, SUM(sales) OVER (PARTITION BY product) / 100 AS pct_total FROM sales; misuses PARTITION BY; SELECT product, sales, sales / SUM(sales) FROM sales; lacks window function.
  4. Final Answer:

    Option A -> Option A
  5. Quick Check:

    Window sum over all rows with multiplication by 100 [OK]
Quick Trick: Use SUM() OVER () for total sum [OK]
Common Mistakes:
  • Using GROUP BY instead of window functions
  • Misplacing PARTITION BY clause
  • Omitting multiplication by 100

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More SQL Quizzes