Bird
Raised Fist0
MySQLquery~20 mins

DISTINCT for unique values in MySQL - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Distinct Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ query_result
intermediate
2:00remaining
What is the output of this DISTINCT query?
Consider a table Employees with a column Department containing values: 'Sales', 'HR', 'Sales', 'IT', 'HR'. What will this query return?
SELECT DISTINCT Department FROM Employees;
MySQL
SELECT DISTINCT Department FROM Employees;
ASales, HR, Sales, IT, HR
BSales, HR, IT
CSales, IT
DHR, IT
Attempts:
2 left
💡 Hint
DISTINCT removes repeated values and shows each unique value once.
🧠 Conceptual
intermediate
1:30remaining
Which statement about DISTINCT is true?
Choose the correct statement about the DISTINCT keyword in SQL.
ADISTINCT changes the order of rows returned.
BDISTINCT only works on numeric columns.
CDISTINCT removes duplicate rows based on all selected columns.
DDISTINCT duplicates all rows in the result.
Attempts:
2 left
💡 Hint
Think about what DISTINCT does to repeated data.
📝 Syntax
advanced
1:30remaining
Which query correctly uses DISTINCT to get unique city names?
Given a table Customers with a column City, which query correctly returns unique city names?
ASELECT UNIQUE City FROM Customers;
BSELECT City DISTINCT FROM Customers;
CSELECT City FROM Customers DISTINCT;
DSELECT DISTINCT City FROM Customers;
Attempts:
2 left
💡 Hint
DISTINCT comes right after SELECT.
❓ optimization
advanced
2:00remaining
Which query is more efficient to get unique product categories?
You want to list unique product categories from a large Products table. Which query is more efficient?
ASELECT DISTINCT Category FROM Products;
BSELECT Category FROM Products GROUP BY Category;
CSELECT Category FROM Products;
DSELECT ALL Category FROM Products;
Attempts:
2 left
💡 Hint
DISTINCT and GROUP BY can both get unique values, but one is simpler and often faster.
🔧 Debug
expert
2:30remaining
Why does this query return duplicates despite DISTINCT?
Given a table Orders with columns OrderID, CustomerID, and OrderDate, why does this query return duplicate CustomerIDs?
SELECT DISTINCT CustomerID, OrderDate FROM Orders;
ADISTINCT applies to all selected columns, so different OrderDates cause duplicates.
BDISTINCT only works on the first column listed.
CDISTINCT is ignored when multiple columns are selected.
DDISTINCT removes duplicates only if OrderID is included.
Attempts:
2 left
💡 Hint
DISTINCT looks at the whole row, not just one column.

Practice

(1/5)
1. What does the DISTINCT keyword do in a MySQL query?
easy
A. It sorts the results in ascending order.
B. It updates values in a column.
C. It counts the number of rows in a table.
D. It returns only unique values by removing duplicates.

Solution

  1. Step 1: Understand the purpose of DISTINCT

    The DISTINCT keyword is used to filter out duplicate rows in the result set.
  2. Step 2: Compare with other options

    Sorting is done by ORDER BY, counting by COUNT(), and updating by UPDATE statement, so these are incorrect.
  3. Final Answer:

    It returns only unique values by removing duplicates. -> Option D
  4. Quick Check:

    DISTINCT = unique values [OK]
Hint: DISTINCT removes duplicates, giving unique results only [OK]
Common Mistakes:
  • Confusing DISTINCT with ORDER BY
  • Thinking DISTINCT counts rows
  • Using DISTINCT to update data
2. Which of the following is the correct syntax to select unique city names from a table called customers?
easy
A. SELECT DISTINCT city FROM customers;
B. SELECT city UNIQUE FROM customers;
C. SELECT UNIQUE city FROM customers;
D. SELECT city FROM customers DISTINCT;

Solution

  1. Step 1: Recall correct syntax for unique selection

    MySQL uses DISTINCT keyword immediately after SELECT to get unique values.
  2. Step 2: Check each option

    SELECT DISTINCT city FROM customers; uses correct syntax: SELECT DISTINCT city FROM customers; others are invalid syntax.
  3. Final Answer:

    SELECT DISTINCT city FROM customers; -> Option A
  4. Quick Check:

    Syntax for unique values = SELECT DISTINCT [OK]
Hint: Use SELECT DISTINCT column FROM table for unique values [OK]
Common Mistakes:
  • Using UNIQUE instead of DISTINCT in SELECT
  • Placing DISTINCT after FROM clause
  • Misplacing keywords causing syntax errors
3. Given the table orders with a column product_id containing values: [1, 2, 2, 3, 1, 4], what will the query SELECT DISTINCT product_id FROM orders; return?
medium
A. [1, 2, 3, 4]
B. [1, 2, 2, 3, 1, 4]
C. [2, 3, 4]
D. [1, 3, 4]

Solution

  1. Step 1: Identify duplicates in product_id

    The values are 1, 2, 2, 3, 1, 4. Duplicates are 1 and 2 repeated.
  2. Step 2: Apply DISTINCT to remove duplicates

    Removing duplicates leaves unique values: 1, 2, 3, 4.
  3. Final Answer:

    [1, 2, 3, 4] -> Option A
  4. Quick Check:

    DISTINCT removes duplicates = unique list [OK]
Hint: DISTINCT returns only one of each repeated value [OK]
Common Mistakes:
  • Expecting all original values including duplicates
  • Confusing DISTINCT with sorting
  • Ignoring repeated values in output
4. What is wrong with this query if you want unique customer names from the customers table?
SELECT DISTINCT name, age FROM customers;
Assuming some customers share the same name but have different ages.
medium
A. It will cause a syntax error.
B. It will return unique names only, ignoring age.
C. It will return unique combinations of name and age, not just names.
D. It will return duplicate names.

Solution

  1. Step 1: Understand DISTINCT with multiple columns

    DISTINCT applies to the entire row of selected columns, so it returns unique pairs of name and age.
  2. Step 2: Analyze the effect on names

    If customers share the same name but different ages, each pair is unique, so duplicates in names alone are not removed.
  3. Final Answer:

    It will return unique combinations of name and age, not just names. -> Option C
  4. Quick Check:

    DISTINCT on multiple columns = unique rows [OK]
Hint: DISTINCT on multiple columns checks all columns together [OK]
Common Mistakes:
  • Thinking DISTINCT applies to each column separately
  • Expecting only unique names when selecting multiple columns
  • Assuming syntax error for multiple columns with DISTINCT
5. You have a table sales with columns region and salesperson. Some salespersons work in multiple regions. Which query will list all unique salespersons regardless of region?
hard
A. SELECT DISTINCT region, salesperson FROM sales;
B. SELECT DISTINCT salesperson FROM sales;
C. SELECT salesperson FROM sales GROUP BY region;
D. SELECT salesperson FROM sales WHERE DISTINCT region;

Solution

  1. Step 1: Identify the goal

    We want unique salespersons only, ignoring regions.
  2. Step 2: Analyze each query

    SELECT DISTINCT region, salesperson FROM sales; returns unique pairs of region and salesperson, so duplicates by salesperson remain if regions differ. SELECT DISTINCT salesperson FROM sales; returns unique salespersons only. SELECT salesperson FROM sales GROUP BY region; groups by region, not salesperson, so duplicates remain. SELECT salesperson FROM sales WHERE DISTINCT region; is invalid syntax.
  3. Final Answer:

    SELECT DISTINCT salesperson FROM sales; -> Option B
  4. Quick Check:

    Distinct on salesperson column only = unique salespersons [OK]
Hint: Use DISTINCT on the single column you want unique values for [OK]
Common Mistakes:
  • Selecting multiple columns with DISTINCT when only one is needed
  • Using GROUP BY on wrong column
  • Writing invalid WHERE DISTINCT syntax
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard