In this Blog I will tell you about How you can Sort Data or in other words use Order By in SQL which will work according to condition provided. Earlier I was doing Order By like this:
  1. select sub.BroadSubjectArea 'Subject Area',count(BroadSubjectAreasID) 'Number Of Colleges' from defBroadSubjectAreas sub
  2. join datPFRIBroadAreasDetail area on sub.BroadSubjectAreas_ID=area.BroadSubjectAreasID
  3. group by sub.BroadSubjectArea
  4. order by [Subject Area]
and I was getting this output:

Sort Data in SQL Except

Now I will show you the query which will order the data but "Others" will be shown in the last:
  1. select sub.BroadSubjectArea 'Subject Area',count(BroadSubjectAreasID) 'Number Of Companies' from defBroadSubjectAreas sub
  2. join datPFRIBroadAreasDetail area on sub.BroadSubjectAreas_ID=area.BroadSubjectAreasID
  3. group by sub.BroadSubjectArea
  4. order by
  5. case when sub.BroadSubjectArea = 'Others' then 1 else 0 end,
  6. sub.BroadSubjectArea
  7. GO

Now we will see the result: