Os itens ORDER BY devem aparecer na lista de seleção se SELECT DISTINCT for especificado

Eu tenho consulta SQL em que eu quero linhas de retorno com ordem de valor distinta por coluna particular. como digamos, eu quero desnatar o batchno da ordem ordenada pelo locationid.

Eu tentei google também, mas não conseguiu descobrir solução

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

Que o que eu tenho toda vez que eu tentei.

quando não usando distinto eu tenho saída, mas com linhas duplicadas usando esta consulta

Select Batchno,LocationId from Ordertbl order by case when[LocationId] =3 THEN 0 ELSE 1 END, [LocationId]

se eu uso distinto, isso me dá erro, essas são consultas que eu testei.

Select distinct CAST(Batchno as Varchar(MAX)),LocationId from Ordertbl order by case when[LocationId] =3 THEN 0 ELSE 1 END,[LocationId]

ou

Select distinct CAST(Batchno as Varchar(MAX)),LocationId from Ordertbl order by case when[LocationId] =3 THEN 0 ELSE 1 END,[LocationId],[Batchno]

Então, isso é coisas que eu tentei, mas sem sorte. Por favor, me ajude.

questionAnswers(1)

yourAnswerToTheQuestion