Вы можете попробовать что-то вроде этого:
create table test(col1 varchar(10),col2 float)
insert into test
values('A',1),
('C',2),
('D',null),
('F',4)
вместо сортировки следующим образом:
select * from test order by col2 desc
select * from test order by col2 asc
сортировать, используя оператор case, как показано ниже, если вы хотите получить значение NULL вtop:
select * from test order by case when col2 is null then 0 else 1 end, col2 desc
select * from test order by case when col2 is null then 0 else 1 end, col2 asc
, чтобы получить ноль внизу:
select * from test order by case when col2 is null then 0 else 1 end desc, col2 desc
select * from test order by case when col2 is null then 0 else 1 end desc, col2 asc