NTILE

構文

ntileの説明。gifは、イラストntileの

の説明に従います。gif

参照:

構文、セマンティクス、および制限については、expr

の有効な形式を含む”分析関数”目的

NTILEは分析関数です。 順序付けられたデータセットをexprで示されるバケット数に分割し、各行に適切なバケット番号を割り当てます。 バケットには1からexprの番号が付けられています。 exprの値は、各パーティションの正の定数に解決する必要があります。 Oracle Databaseでは整数が必要であり、exprが整数以外の定数の場合、Oracleはその値を整数に切り捨てます。 戻り値はNUMBERです。

バケット内の行数は、最大で1だけ異なる場合があります。 残りの値(行数の残りをバケットで割った値)は、バケット1から始まるバケットごとに1つずつ分散されます。

exprが行数より大きい場合、行数に等しいバケット数が入力され、残りのバケットは空になります。

exprにはNTILEやその他の分析関数を使用することはできません。 つまり、分析関数を入れ子にすることはできませんが、exprには他の組み込み関数式を使用できます。

関連項目:

“SQL式について”exprの有効な形式および表2-10″暗黙の型変換行列”暗黙の変換の詳細については

次の例では、Department100のoe.employees表のsalary列の値を4つのバケッ この部門のsalary列には6つの値があるため、2つの余分な値(6/4の残りの値)がバケット1と2に割り当てられ、バケット3または4よりも1つ多くの値

SELECT last_name, salary, NTILE(4) OVER (ORDER BY salary DESC) AS quartile FROM employees WHERE department_id = 100;LAST_NAME SALARY QUARTILE------------------------- ---------- ----------Greenberg 12000 1Faviet 9000 1Chen 8200 2Urman 7800 2Sciarra 7700 3Popp 6900 4



+