ROW_NUMBER() OVER (
[ PARTITION BY column_reference [,...] ]
ORDER BY value_spec [,...]
[ RESET WHEN condition ]
)
構文要素
- OVER
- 累計、グループ、または移動関数を計算する際に、値をグループ化、順序付け、および処理対象とする方法を指定します。
- 値は、PARTITION BY句BEGINおよびRESET WHEN句ENDに基づいてグループ化され、ORDER BY句に基づいてソートされ、パーティション内の集約グループに基づいて処理の対象とされます。
- PARTITION BY column_reference [,...]
- 関数が操作対象とするグループ。
- ORDER BY
- グループまたはパーティション内の値がソートされる順序。
- value_spec
value_expression [ ASC | DESC ] [ NULLS { FIRST | LAST } ]
- RESET WHEN
- 関数の実行対象になる1つまたは複数のグループ。指定された条件の評価に応じて変化します。条件がTRUEと評価されると、指定されたウィンドウ パーティション内に新しい動的パーティションが作成されます。
- PARTITION BY句またはRESET WHEN句を指定しない場合は、FROM句から送られる結果セット全体がパーティションになります。
- condition
- 条件によるパーティション化を決めるために使用する条件式。RESET WHEN句の条件は、QUALIFY句の条件と適用範囲は同じですが、ネストされた順序付き分析関数はRESET WHEN句を指定できないという追加の制約があります。また、条件内のsubqueryとしてのSELECTは指定できません。
- 条件は、指定されたすべてのウィンドウ パーティション内の行に適用され、そのウィンドウ パーティション内にサブパーティションを作成します。
- 詳細については、<Teradata Vantage™ - SQLデータ操作言語、B035-1146>の「RESET WHEN条件のルール」と「QUALIFY句」を参照してください。
- ASC
- 昇順のソート順序。
- DESC
- 降順のソート順序。
- NULLS FIRST
- NULL結果が最初にリストされることを指定します。
- NULLS LAST
- NULL結果が最後にリストされることを指定します。