LAG (SQL)
指定したウィンドウ・フレーム内の指定の行の offset 行前にある field 列の値を割り当てるウィンドウ関数。
構文
LAG(field[,offset[,default]])
説明
LAG は、offset で指定した行の field 列の値を割り当てます。既定では、ウィンドウ・フレーム内で、指定された行の offset 行前に行がない場合、LAG() は値 NULL を割り当てます。
ユーザは、値 default を含めることにより、これらの条件下で、代替値を割り当てることもできます。
引数
field
割り当てられる値を指定する列。
offset
field 列の値を取得する行を指定する整数 (オプション)。offset が指定されていない場合、この関数は、既定で、指定された行の 1 行前の field 列の値を割り当てます。
default
ウィンドウ・フレーム内で指定された行の offset 行前に行がない場合に、返す値を指定する引数 (オプション)。default が指定されていない場合、値 NULL が割り当てられます。
例
以下の例では、各部門内の各従業員の以前の給与を返します。
SELECT LAG(Salary) OVER (PARTITION BY Department ORDER BY Salary) FROM Company.Employee
以下の例では、offset および default 引数を指定し、各部門の以前の従業員の給与を計算します。そのような従業員が存在しない場合は、値 0 が返されます。
SELECT LAG(Salary, 1, 0) OVER (PARTITION BY Department ORDER BY Salary) FROM Company.Employee