Row number
Row numbers without partitions
Section titled “Row numbers without partitions”Include a row number according to the order specified.
SELECT ROW_NUMBER() OVER(ORDER BY Fname ASC) AS RowNumber, Fname, LNameFROM EmployeesRow numbers with partitions
Section titled “Row numbers with partitions”Uses a partition criteria to group the row numbering according to it.
SELECT ROW_NUMBER() OVER(PARTITION BY DepartmentId ORDER BY DepartmentId ASC) AS RowNumber, DepartmentId, Fname, LNameFROM EmployeesDelete All But Last Record (1 to Many Table)
Section titled “Delete All But Last Record (1 to Many Table)”WITH cte AS ( SELECT ProjectID, ROW_NUMBER() OVER (PARTITION BY ProjectID ORDER BY InsertDate DESC) AS rn FROM ProjectNotes)DELETE FROM cte WHERE rn > 1;Syntax
Section titled “Syntax”- ROW_NUMBER ( )
- OVER ( [ PARTITION BY value_expression , … [ n ] ] order_by_clause )