Code:
create table orderbydemo
( foo int
, bar int
, SequenceOrder int
);
insert into orderbydemo values
( 302, 402, 100012 )
, ( 703, 802, 100009 )
, ( 903, 801, 100006 )
, ( 303, 702, 100011 )
, ( 604, 903, 100012 )
, ( 101, 808, 100008 )
, ( 202, 303, 100004 )
, ( 306, 702, 100010 )
, ( 307, 802, 100013 )
, ( 206, 905, 100005 )
;
select foo
, bar
, case when foo between 300 and 399
or bar = 303
then 1 else 0 end as sortfirst
, SequenceOrder
from orderbydemo
order
by case when foo between 300 and 399
or bar = 303
then 1 else 0 end
, SequenceOrder
foo,bar,sortfirst,SequenceOrder
206,905,0,100005
903,801,0,100006
101,808,0,100008
703,802,0,100009
604,903,0,100012
202,303,1,100004
306,702,1,100010
303,702,1,100011
302,402,1,100012
307,802,1,100013
Bookmarks