Другим решением является добавление дополнительного столбца в запрос и сортировка по этому столбцу
select t.*
from ( select Id,
F1,
F2,
Ref_ID,
coalesce(Ref_ID, Id) as RefID_or_Id,
iif(Ref_ID is null, 0, 1) as Ref_ID_0_or_1
from YourTable
) t
order by t.RefID_or_Id,
t.Ref_ID_0_or_1,
t.Id
В случае, если у вас большой стол, вы должны протестировать, какое из решений здесь лучше для вас