LAG

構文

関連項目:

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

目的

LAGは分析ファンクションです。これは、自己結合せずに、表の2つ以上の行へ同時アクセスを行います。問合せから戻される一連の行およびカーソル位置を指定すると、LAGは、その位置より前にある指定された物理オフセットにある行へアクセスします。

オプションのoffset引数には、0(ゼロ)より大きい整数を指定します。offsetを指定しない場合、デフォルト値は1です。オフセットがウィンドウの有効範囲を超えた場合、オプションのdefault値が戻されます。defaultを指定しない場合、デフォルトはNULLです。

{RESPECT | IGNORE} NULLSは、value_exprのNULL値を計算に含めるか除外するかを指定します。デフォルトはRESPECT NULLSです。

value_exprには、LAGまたは他の分析ファンクションを使用して分析ファンクションをネストできません。ただし、他の組込みファンクション式をvalue_exprで使用できます。

関連項目:

次の例では、employees表の各購買係について、その購買係の直前に雇用された従業員の給与を示します。

SELECT hire_date, last_name, salary,
       LAG(salary, 1, 0) OVER (ORDER BY hire_date) AS prev_sal
  FROM employees
  WHERE job_id = 'PU_CLERK'
  ORDER BY hire_date;
   
HIRE_DATE LAST_NAME                     SALARY   PREV_SAL
--------- ------------------------- ---------- ----------
18-MAY-03 Khoo                            3100          0
24-JUL-05 Tobias                          2800       3100
24-DEC-05 Baida                           2900       2800
15-NOV-06 Himuro                          2600       2900
10-AUG-07 Colmenares                      2500       2600