This page is a quick reference checkpoint for FIRST VALUE in ORACLE: behavior, syntax rules, edge cases, and a minimal example; plus the official vendor documentation.
FIRST_VALUE returns the first value in the window frame.
Behavior: Returns the first value in the ordered set defined by the analytic_clause. Result depends on ORDER BY and window frame; default frame is RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW if ORDER BY is present.
If this behavior feels unintuitive, the tutorial below explains the underlying pattern step-by-step.
Syntax: FIRST_VALUE(expr) OVER (analytic_clause). expr is required; analytic_clause controls partitioning, ordering, and windowing.
SELECT department_id, hire_date, salary, FIRST_VALUE(salary) OVER (PARTITION BY department_id ORDER BY hire_date) AS first_sal FROM employees;
If you came here to confirm syntax, you’re done. If you came here to get better at window functions, choose your next step.
FIRST VALUE is part of a bigger window-function pattern. If you want the “why”, start here: First Last Nth Value
For the authoritative spec, use the vendor docs. This page is the fast “sanity check”.
View ORACLE Documentation →Looking for more functions across all SQL dialects? Visit the full SQL Dialects & Window Functions Documentation.