codice:
select *,if(posizione = 0,x,posizione) as ordinamento from tabella
where schema_id = 1
order by ordinamento
al posto di x metti un numero superiore al valore massimo che può assumere il campo posizione.