salaryplusを知っている場合 常にsalaryminusより大きくなります 、それならあなたはできる
order by coalesce(salaryplus, salaryminus, 0)
coalesce nullではない最初の値を返します。両方の値がnullの場合は(この例では)0を返します。
それ以外の場合は、次のようにします:
order by greatest(ifnull(salaryminus,0), ifnull(salaryplus,0))
これにより、両方のsalaryminusが処理されます およびsalaryplus nullの場合は0として、2つのうち大きい方の順に並べます。