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

他の列の値に応じて、SQL SELECTORDERBY複数の列

    現在のクエリでは、4つの列の合計で並べ替えます。 leastを使用できます 最小値を取得するため、句による順序は次のようになります。

    SELECT *
    FROM vehicle
    ORDER BY
      `revisit` DESC,
      CASE WHEN `revisit` = 1 THEN LEAST(`FL`, `FR`, `RR`, `RL`) END ASC,
      CASE WHEN `revisit` = 0 THEN `date` END ASC
    

    もちろん、これは最小値でのみソートされます。 2つの行が両方とも同じ最小値を共有する場合、2番目に低い値での並べ替えはありません。それを行うのはかなり難しいです、そして私はあなたがそれを必要とするかどうかあなたの質問から本当に得られませんでした。




    1. SqlAlchemyとcx_Oracleを使用してPandasDataFrameをOracleデータベースに書き込む場合は、to_sql()を高速化します

    2. laravelを持っている:列が見つかりません

    3. mysqlで一括コピーを行うことは可能ですか?

    4. Oracle(およびMySQL)で派生列リストを表現するための一般的な回避策はありますか?