ORDER BY items must appear in the select list if SELECT DISTINCT is specified

ORDER BY items must appear in the select list if SELECT DISTINCT is specified

ORDER BY items must appear in the select list if SELECT DISTINCT is specified

When writing T-SQL code, at some point, under certain circumstances, you might get the error message: ORDER BY items must appear in the select list if SELECT DISTINCT is specified.

 

Explaining the Error Message with an Example

But let’s take things from  the beginning with the use of an example.

First, let’s create a temporary table:

CREATE TABLE #tmpTable
    (
        id INT PRIMARY KEY ,
        code VARCHAR(50) ,
        age INT
    );

Then, let’s populate the table with some sample data:

INSERT INTO #tmpTable
VALUES ( 1, 'code 1', 25 ) ,
       ( 2, 'code 2', 27 ) ,
       ( 3, 'code 3', 29 ) ,
       ( 4, 'code 4', 25 ) ,
       ( 5, 'code 5', 21 ),
       ( 6, 'code 5', 21 );

 

Reproducing the Error Message

Now let’s run the below query, which tries to retrieve the distinct “age” values along with sorting the results based on the id:

SELECT   DISTINCT age
FROM     #tmpTable
ORDER BY code;

However, when we execute the above query, we get the error message:

ORDER BY items must appear in the select list if SELECT DISTINCT is specified.

 

Resolving the Issue

As the error message indicates, you are using in the ORDER BY clause, a column which is not included in the SELECT list. In this case this column is “code”.

Therefore, you definitely need to include in your query the column “code”.

So, for this example, you can try running the query as below:

SELECT   DISTINCT age,code
FROM     #tmpTable
ORDER BY code;

 

 

Other SQL Server troubleshooting articles to check on SQLNetHub:

 

Subscribe to our newsletter and stay up to date!

Check out our latest software releases!

Check out Artemakis’s eBooks

 

Rate this article: 1 Star2 Stars3 Stars4 Stars5 Stars (11 votes, average: 5.00 out of 5)

Loading...

Reference: SQLNetHub.com (https://www.sqlnethub.com)

© SQLNetHub

Artemakis Artemiou
Artemakis Artemiou is a Senior SQL Server and Software Architect, Author, and a 9 Times Microsoft Data Platform MVP (2009-2018). He has over 15 years of experience in the IT industry in various roles. Artemakis is the founder of SQLNetHub and TechHowTos.com. Artemakis is the creator of the well-known software tools Snippets Generator and DBA Security Advisor. Also, he is the author of many eBooks on SQL Server. Artemakis currently serves as the President of the Cyprus .NET User Group (CDNUG) and the International .NET Association Country Leader for Cyprus (INETA). Artemakis's official website can be found at aartemiou.com.