Suche…


Syntax

  • ZEILENNUMMER ( )
  • OVER ([PARTITION BY value_expression, ... [n]] order_by_clause)

Zeilennummern ohne Partitionen

Fügen Sie eine Zeilennummer gemäß der angegebenen Reihenfolge ein.

SELECT
  ROW_NUMBER() OVER(ORDER BY Fname ASC) AS RowNumber,
  Fname,
  LName
FROM Employees

Zeilennummern mit Partitionen

Verwendet ein Partitionskriterium, um die Zeilennummerierung danach zu gruppieren.

SELECT
  ROW_NUMBER() OVER(PARTITION BY DepartmentId ORDER BY DepartmentId ASC) AS RowNumber,
  DepartmentId, Fname, LName
FROM Employees

Alle bis auf den letzten Datensatz löschen (1 bis viele Tabelle)

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;


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow