select * from
(select id , name , (price-23000) price from table where (price-23000) >= 0) a ,
(select id , name , (23000-price) price from table where (23000-price) >=0 ) b
order by price ASC
นี่หละมั้ง ใช้ Order by เอาจากผลต่าง
มันน่าจะเขียนได้สั้นกว่านี้นะ ลองๆดูเอา