Использовать условный порядок
select *
from table
order by column > 0 desc, column asc, rand()
Добавить rand () в конце
Демо
Или вы можете использовать union
(select * from table where column > 0 order by column asc)
union all
(select * from table where column = 0 order by rand())
Демо