-- к примеру новый ранг = 10
-- id сдвигаемой записи 100500
UPDATE `my_table` SET `ordering` = `ordering` + 1 WHERE `ordering`>=10;
UPDATE `my_table` SET `ordering` = 10 WHERE `id`=100500;
SELECT
*,
IF(`payment`='true', `good_name`, `name`) prior
FROM `table`
WHERE
`payment`="true"
ORDER BY payment, prior
SELECT * FROM (
SELECT * FROM `table` WHERE `payment`=="true" ORDER BY `good_name` ASC
) a
UNION
select * from (
SELECT * FROM `table` WHERE `payment`=="false" ORDER BY `name` ASC
) b