Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Implement Partial sorted query in sql server 2005

I have to show records in such a way that some selected records should come first. After this, another records come in sorted manner from the same table.

For example, If I select state having stateID = 5 then the corresponding record should come first. after this another records should come in sorted manner.

For this, I tried union but it shows all in sorted.

select state from statemaster where stateid=5
union all
select state from statemaster
where not stateid =5
order by state

Thanks

like image 327
Brij Avatar asked Mar 23 '10 08:03

Brij


1 Answers

This one will use CASE to give you states with stateid = 5 first, followed by the rest. Second sort-criteria is the state.

Select state
From statemaster
Order By
  Case When stateid = 5 Then 0 Else 1 End,
  state
like image 56
Peter Lang Avatar answered Nov 20 '22 07:11

Peter Lang