SQL
Numéro de ligne
Recherche…
Syntaxe
- ROW_NUMBER ()
- OVER ([PARTITION BY value_expression, ... [n]] order_by_clause)
Numéros de lignes sans partitions
Inclure un numéro de ligne selon l'ordre spécifié.
SELECT
ROW_NUMBER() OVER(ORDER BY Fname ASC) AS RowNumber,
Fname,
LName
FROM Employees
Numéros de lignes avec partitions
Utilise un critère de partition pour regrouper la numérotation des lignes en fonction de celle-ci.
SELECT
ROW_NUMBER() OVER(PARTITION BY DepartmentId ORDER BY DepartmentId ASC) AS RowNumber,
DepartmentId, Fname, LName
FROM Employees
Supprimer tout sauf le dernier enregistrement (1 à plusieurs tableaux)
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
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow