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

SQL ServerでRANK()を使用する方法

    変更:

    RANK() OVER (PARTITION BY ContenderNum ORDER BY totals ASC) AS xRank
    

    宛先:

    RANK() OVER (ORDER BY totals DESC) AS xRank
    

    この例を見てください:

    SQLフィドルデモ

    また、RANK(Transact-SQL)とDENSE_RANK(Transact-SQL)の違いも確認することをお勧めします。

    ランク (Transact-SQL)

    2つ以上の行がランクで同点の場合、同点の各行は同じランクを受け取ります。たとえば、上位2人の営業担当者が同じSalesYTDvalueを持っている場合、両方とも1つにランク付けされます。上位にランク付けされた行が2つあるため、次に高いSalesYTDの営業担当者が3位にランク付けされます。したがって、RANK関数は常に連続した整数を返すとは限りません。

    DENSE_RANK (Transact-SQL)

    結果セットのパーティション内の行のランクを、ランクにギャップなしで返します。行のランクは、1に、問題の行の前にある個別のランクの数を加えたものです。



    1. SQLServerレプリケーションのセットアップと構成

    2. ローカルテスト用のMySQLインストールを作成する方法

    3. 2つ(またはそれ以上)の行名を持つクロス集計

    4. ローリング期間の累計を作成する方法