

 Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 Python UDF 將繼續正常運作至 2026 年 6 月 30 日。如需詳細資訊，請參閱[部落格文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# CUME\$1DIST 範圍函數
<a name="r_WF_CUME_DIST"></a>

計算視窗或分割區內值的累積分佈。假定為遞增排序，使用此公式來決定累積分佈：

`count of rows with values <= x / count of rows in the window or partition`

其中，*x* 等於 ORDER BY 子句所指定欄之目前列中的值。以下資料集示範此公式的使用：

```
Row#	Value	  Calculation    CUME_DIST
1        2500	   (1)/(5)	   0.2
2        2600	   (2)/(5)	   0.4
3        2800	   (3)/(5)	   0.6
4        2900	   (4)/(5)	   0.8
5        3100	   (5)/(5)	   1.0
```

傳回值範圍是 >0 至 1 (含)。

## 語法
<a name="r_WF_CUME_DIST-synopsis"></a>

```
CUME_DIST ()
OVER ( 
[ PARTITION BY partition_expression ] 
[ ORDER BY order_list ]
)
```

## 引數
<a name="r_WF_CUME_DIST-arguments"></a>

OVER  
用於指定視窗分割的子句。OVER 子句不能包含視窗框規格。

PARTITION BY *partition\$1expression*   
選用。此表達式針對 OVER 子句中的每一個群組，設定記錄範圍。

ORDER BY *order\$1list*   
要計算累積分佈的表達式。表達式必須為數值資料類型，或可隱含地轉換為數值資料類型。如果省略 ORDER BY，所有列的傳回值為 1。  
如果 ORDER BY 未產生唯一排序，則列的順序不確定。如需詳細資訊，請參閱[範圍函數的資料唯一排序](c_Window_functions.md#r_Examples_order_by_WF)。

## 傳回類型
<a name="r_WF_CUME_DIST-returns"></a>

FLOAT8

## 範例
<a name="r_WF_CUME_DIST-examples"></a>

以下範例計算每一個賣方的數量累積分佈：

```
select sellerid, qty, cume_dist() 
over (partition by sellerid order by qty) 
from winsales;

sellerid   qty	   cume_dist
--------------------------------------------------
1         10.00	   0.33
1         10.64	   0.67
1         30.37	   1
3         10.04	   0.25
3         15.15	   0.5
3         20.75	   0.75
3         30.55	   1
2         20.09	   0.5
2         20.12	   1
4         10.12	   0.5
4         40.23	   1
```

如需 WINSALES 資料表的描述，請參閱[範圍函數範例的範例資料表](c_Window_functions.md#r_Window_function_example)。