日本語PDF

COVAR_POP

構文

関連項目:

構文、セマンティクスおよび制限事項の詳細は、「分析ファンクション」を参照してください。

目的

COVAR_POPは、数値の組の集合に対する母集団共分散を戻します。これは、集計ファンクションまたは分析ファンクションとして使用できます。

このファンクションは、引数として、任意の数値データ型、または暗黙的に数値データ型に変換可能な数値以外のデータ型を取ります。Oracleは、数値の優先順位が最も高い引数を判断し、残りの引数をそのデータ型に暗黙的に変換して、そのデータ型を戻します。

関連項目:

暗黙的な変換の詳細は、表2-8を参照してください。数値の優先順位の詳細は、数値の優先順位を参照してください。

Oracle Databaseは、expr1またはexpr2がNULLであるすべての組を排除した後、このファンクションを(expr1, expr2)の組の集合に適用します。その後、Oracleは次の計算を行います。

(SUM(expr1 * expr2) - SUM(expr2) * SUM(expr1) / n) / n

ここで、nは(expr1, expr2)の組の数です(ただし、expr1およびexpr2の両方がNULLではない場合です)。

ファンクションは、NUMBER型の値を戻します。ファンクションが空の集合に適用されると、NULLを戻します。

関連項目:

exprの有効な書式の詳細は、SQL式を参照してください。また、集計ファンクションを参照してください

集計の例

次の例では、サンプル表hr.employeesを使用して、勤務時間(SYSDATE - hire_date)と給与の母集団共分散と標本共分散を計算します。

SELECT job_id, 
       COVAR_POP(SYSDATE-hire_date, salary) AS covar_pop,
       COVAR_SAMP(SYSDATE-hire_date, salary) AS covar_samp
  FROM employees
  WHERE department_id in (50, 80)
  GROUP BY job_id
  ORDER BY job_id, covar_pop, covar_samp;

JOB_ID       COVAR_POP  COVAR_SAMP
---------- ----------- -----------
SA_MAN          660700      825875
SA_REP      579988.466   600702.34
SH_CLERK      212432.5  223613.158
ST_CLERK     176577.25  185870.789
ST_MAN          436092      545115

分析の例

次の例では、デモ・スキーマoeの製品の表示価格および最小価格の累積標本共分散を計算します。

SELECT product_id, supplier_id,
       COVAR_POP(list_price, min_price) 
         OVER (ORDER BY product_id, supplier_id)
         AS CUM_COVP,
       COVAR_SAMP(list_price, min_price)
         OVER (ORDER BY product_id, supplier_id)
         AS CUM_COVS 
  FROM product_information p
  WHERE category_id = 29
  ORDER BY product_id, supplier_id;

PRODUCT_ID SUPPLIER_ID   CUM_COVP   CUM_COVS
---------- ----------- ---------- ----------
      1774      103088          0
      1775      103087    1473.25     2946.5
      1794      103096 1702.77778 2554.16667
      1825      103093    1926.25 2568.33333
      2004      103086     1591.4    1989.25
      2005      103086     1512.5       1815
      2416      103088 1475.97959 1721.97619
. . .