1. ホーム
  2. sql

[解決済み] MSSQL Selectステートメントで整数カラムが増分される...テーブルからではない

2022-02-19 21:07:14

質問

可能であれば、任意のテーブルから値を返す際に、最初の行に値 = 1、2 番目に値 = 2、...の増分整数カラムも返す t-sql クエリが必要です。

この列は実際にはどのテーブルにも存在せず、厳密にインクリメンタルでなければなりません。なぜなら、ORDER BY句はテーブルの行をソートすることができ、私は常に完璧な形でインクリメンタル行が欲しいからです...。

よろしくお願いします。

--EDIT すみません、書き忘れましたが、SQL Server 2000で動作させる必要があります。

解決方法は?

SQL2005以上の場合

SELECT ROW_NUMBER() OVER( ORDER BY SomeColumn ) AS 'rownumber',*
    FROM YourTable

2000の場合、次のようになります。

SELECT IDENTITY(INT, 1,1) AS Rank ,VALUE
INTO #Ranks FROM YourTable WHERE 1=0

INSERT INTO #Ranks
SELECT SomeColumn  FROM YourTable
ORDER BY SomeColumn 

SELECT * FROM #Ranks
Order By Ranks

こちらもご覧ください 行番号