求教各位大神,sql排序有关问题

求教各位大神,sql排序问题
create table testa
(
    a      int     NOT NULL,
    b     int
)
GO

insert into testa(a,b) values(1,null); 
insert into testa(a,b) values(2,1); 
insert into testa(a,b) values(3,2); 
insert into testa(a,b) values(4,3); 
insert into testa(a,b) values(5,null); 
insert into testa(a,b) values(6,4); 
insert into testa(a,b) values(7,null); 


排序问题,把B为null的数据放到前面按a的倒序,如果b不为空就按b倒序
------解决思路----------------------
order by case when b is null then 1 else 0 end*a desc,b desc