Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL の使用法 » データのクエリと変更 » OLAP のサポート » SQL Anywhere の Window 関数 » Window ランキング関数

 

CUME_DIST 関数

累積分布関数 CUME_DIST は、百分位数の逆数として定義される場合があります。CUME_DIST は、ウィンドウ内の値のセットに関して、特定値の正規化された位置を計算します。関数の範囲は 0 ~ 1 です。

ウィンドウが入力ローを移動するのに合わせて、ウィンドウの ORDER BY 句で指定された式で累積分布が計算されます。ORDER BY 句に複数の式が含まれる場合は、最初の式によって隣接ローで同じ値になるときに同順の発生を避けるために、2 番目以降の式が使用されます。NULL 値はその他の値よりも前にソートされます (昇順の場合)。

次の例は、カリフォルニアに住む従業員の給与に関する累積分布を示す結果セットを返します。

SELECT DepartmentID, Surname, Salary,
    CUME_DIST( ) OVER ( PARTITION BY DepartmentID
      ORDER BY Salary DESC ) "Rank"
  FROM Employees 
  WHERE State IN ( 'CA' );

このクエリは、次の結果を返します。

DepartmentID Surname Salary Rank
200 Savarino 72300.00 0.333333333333333
200 Clark 45000.00 0.666666666666667
200 Overbey 39300.00 1

CUME_DIST 関数の構文の詳細については、CUME_DIST 関数 [ランキング]を参照してください。