サーチ…


構文

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

パーティションのない行番号

指定された順序に従って行番号を含めます。

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

パーティションを持つ行番号

パーティション基準を使用して行番号をグループ化します。

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

最後のレコードを除くすべてのレコードを削除する(1対多のテーブル)

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
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow