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.
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 );
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.
As the error message indicates, you are using in the ORDER BY statement, 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:
- Error converting data type varchar to float
- Operating System Error 170 (Requested Resource is in use)
- There is no SQL Server Failover Cluster Available to Join
- Installing SQL Server 2016 on Windows Server 2012 R2: Rule KB2919355 failed
- Setup failed to start on the remote machine. Check the Task scheduler event log on the remote machine.
- A connection was successfully established with the server, but then an error occurred during the login process.
- SQL Server 2008 R2 Service Pack Installation Fails – Element not found. (Exception from HRESULT: 0x80070490)
- There is insufficient system memory in resource pool ‘internal’ to run this query.
- Argument data type ntext is invalid for argument …
- Could not load file or assembly ‘Microsoft.SqlServer.Smo, Version=10.0.0.0, …
- … more SQL Server troubleshooting articles
Rate this article:
Make sure you check out SQLArtBits for useful SQL Server tools!
Reference: SQLNetHub (https://www.sqlnethub.com)
© 2018 SQLNetHub
Recommended eBooks on SQL Server: