LAST_VALUE

LAST_VALUE関数は分析関数で、順序付けられた値の集合にある最後の値を戻します。

SQL構文

LAST_VALUE (Expression [IGNORE NULLS]) OVER (AnalyticClause)

パラメータ

LAST_VALUEには、次のパラメータがあります。

パラメータ 説明

Expression

サポートされるExpressionsの詳細は、「分析関数」を参照してください。

IGNORE NULLS

LAST_VALUEが、集合内の最後のNULL以外の値を戻し、集合内のすべての値がNULLの場合はNULLを戻すようにするにはIGNORE NULLSを指定します。句はオプションです。

OVER (AnalyticClause)

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

説明

  • 集合内の最後の値がNULLの場合、IGNORE NULLSを指定していないかぎり、LAST_VALUENULLを戻します。関数が、集合内の最後のNULL以外の値を戻す場合はIGNORE NULLS 、集合内のすべての値がNULLの場合はNULLを指定します。

LAST_VALUE関数を使用して、給与が最も高い従業員の雇用開始日を各行に戻します。

Command> SELECT last_name, salary, hire_date,
           LAST_VALUE (hire_date) OVER (ORDER BY salary
           ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS lv
         FROM
           (SELECT * FROM employees WHERE department_id = 90 ORDER BY hire_date)
         ORDER BY last_name, salary, hire_date, lv;
< De Haan, 17000, 1993-01-13 00:00:00, 1987-06-17 00:00:00 >
< King, 24000, 1987-06-17 00:00:00, 1987-06-17 00:00:00 >
< Kochhar, 17000, 1989-09-21 00:00:00, 1987-06-17 00:00:00 >
3 rows found.