sql >> データベース >  >> RDS >> Mysql

MySQLでnullになる可能性のある最大2つの列で並べ替える方法は?

    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つのうち大きい方の順に並べます。



    1. 2つのデータベース間に外部キー関係を追加する

    2. SQLServerのメッセージ8114「データ型varcharから数値への変換エラー」を修正しました

    3. java.lang.IllegalArgumentException:列'_id'は存在しません

    4. PostgreSQLで読み取り専用ユーザーを作成する方法