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

Oracleで2番目に大きい最小値を選択します

    分析関数を使用する

    SELECT value
      FROM (SELECT value,
                   dense_rank() over (order by value asc) rnk
              FROM table)
     WHERE rnk = 2
    

    分析関数RANKDENSE_RANK 、およびROW_NUMBER ネクタイの扱い方を除いて同じです。 RANK ネクタイを壊すスポーツスタイルのプロセスを使用しているため、2つの行が1のランクで同点の場合、次の行のランクは3になります。DENSE_RANK 最初に結び付けられた両方の行に1のランクを与え、次に次の行に2のランクを割り当てます。ROW_NUMBER 任意にタイを解除し、最も低い値の2つの行の一方にランク1を、もう一方にランク2を与えます。



    1. チェック制約で日付を使用する、Oracle

    2. sqlalchemyとpyodbcを使用してSQLServer2012に接続する

    3. Hibernateの列挙型、列挙型として永続化

    4. MySQLのパフォーマンス:MySQLデータベースのインデックス作成を活用する方法