Ricerca…


Sintassi

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

Numeri di riga senza partizioni

Includere un numero di riga in base all'ordine specificato.

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

Numeri di riga con partizioni

Utilizza un criterio di partizione per raggruppare la numerazione delle righe in base ad essa.

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

Elimina tutto tranne l'ultimo record (da 1 a molti tabella)

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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow