How to Use SQL DISTINCT and TOP in Same Query?


To use SQL DISTINCT and TOP in the same query, you can follow these methods:

Method 1: Using DISTINCT and TOP together in SELECT statement

You can use the DISTINCT and TOP keywords together in the SELECT statement to retrieve the top N distinct values from a column. Here's an example:

SELECT DISTINCT TOP 5 column_name
FROM table_name;

This query will return the top 5 distinct values from the specified column in the table.

Method 2: Using subquery with DISTINCT and TOP

Another way to use DISTINCT and TOP together is by using a subquery. Here's an example:

SELECT TOP 5 column_name
FROM (
  SELECT DISTINCT column_name
  FROM table_name
) AS subquery;

This query will first retrieve the distinct values from the specified column in the table using a subquery, and then return the top 5 values from the result set.

Method 3: Using GROUP BY with DISTINCT and TOP

You can also use GROUP BY with DISTINCT and TOP to retrieve the top N distinct values from a column. Here's an example:

SELECT TOP 5 column_name
FROM table_name
GROUP BY column_name;

This query will group the rows by the specified column and then return the top 5 distinct values from the result set.

Note: The order of the keywords in the query matters. If you want to retrieve the top N distinct values, you should use TOP before DISTINCT.



About the author

William Pham is the Admin and primary author of Howto-Code.com. With over 10 years of experience in programming. William Pham is fluent in several programming languages, including Python, PHP, JavaScript, Java, C++.