

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ROW\$1NUMBER ウィンドウ関数
<a name="WF_ROW_NUMBER"></a>

OVER 句の ORDER BY 式に基づいて、行グループ内における (1 からカウントした) 現在の行の序数が決まります。オプションの PARTITION BY 句がある場合、序数は行グループごとにリセットされます。ORDER BY 式で同じ値を持つ行には、確定的でない方法で異なる行番号が割り当てられます。

## 構文
<a name="WF_ROW_NUMBER-synopsis"></a>

```
ROW_NUMBER () OVER
(
[ PARTITION BY expr_list ]
[ ORDER BY order_list ]
)
```

## 引数
<a name="WF_ROW_NUMBER-arguments"></a>

( )   
この関数は引数を受け取りませんが、空のかっこは必要です。

OVER   
ROW\$1NUMBER 関数のウィンドウ句。

PARTITION BY *expr\$1list*   
省略可能。ROW\$1NUMBER 関数を定義する 1 つ以上の式。

ORDER BY *order\$1list*   
省略可能。行番号の基になる列を定義する式。PARTITION BY が指定されていない場合、ORDER BY はテーブル全体を使用します。  
ORDER BY で一意の順序付けが行われない、または省略した場合、行の順序は不確定になります。詳細については、「[ウィンドウ関数用データの一意の並び順](Window_functions.md#Examples_order_by_WF)」を参照してください。

## 戻り型
<a name="Supported_data_types_WF_ROW_NUMBER"></a>

BIGINT

## 例
<a name="WF_ROW_NUMBER-examples"></a>

次の例では、SELLERID によってテーブルをパーティション化し、QTY によって各パーティションを (昇順で) 順序付けし、各行に行番号を割り当てます。結果はウィンドウ関数の結果が提供された後にソートされます。

```
select salesid, sellerid, qty, 
row_number() over 
(partition by sellerid
 order by qty asc) as row
from winsales
order by 2,4;

 salesid | sellerid | qty | row
---------+----------+-----+-----
   10006 |        1 |  10 |   1
   10001 |        1 |  10 |   2
   10005 |        1 |  30 |   3
   20001 |        2 |  20 |   1
   20002 |        2 |  20 |   2
   30001 |        3 |  10 |   1
   30003 |        3 |  15 |   2
   30004 |        3 |  20 |   3
   30007 |        3 |  30 |   4
   40005 |        4 |  10 |   1
   40001 |        4 |  40 |   2
(11 rows)
```

 WINSALES テーブルの説明については、「[ウィンドウ関数例のサンプルテーブル](Window_functions.md#Window_function_example)」を参照してください。