FIRST_VALUE()

Returns the first value in an ordered set of values.

Signature

FIRST_VALUE ( [ scalar_expression ] ) [ IGNORE NULLS | RESPECT NULLS ]
    OVER ( [ partition_by_clause ] order_by_clause [ rows_range_clause ] )

Parameters

  • scalar_expression — The value to be returned. *scalar_expression* can be a column, subquery, or other arbitrary expression that results in a single value. Other analytic functions aren't permitted.

Examples

SELECT product, amount, FIRST_VALUE(product) OVER (ORDER BY amount) AS cheapest FROM dbo.orders;
product                                  amount       cheapest
---------------------------------------- ------------ ----------------------------------------
cable                                           15.00 cable
mouse                                           27.75 cable
keyboard                                        49.50 cable
keyboard                                        99.00 cable
monitor                                        219.00 cable
monitor                                        438.00 cable

Run against SQL Server 16.0.4265.3 on 2026-09-13. This is the output we got, not the documentation’s.

Available on

  • SQL Server 2017 and later
  • Azure SQL Database
  • Azure SQL Managed Instance
  • Azure Synapse Analytics
  • Analytics Platform System (PDW)
  • Microsoft Fabric warehouse
  • Fabric SQL database

Signature and description adapted from the Microsoft SQL documentation, used under the CC BY 4.0. SQL Server and Azure are trademarks of the Microsoft group of companies. This page is not affiliated with Microsoft.