SQLServerで行番号を取得するには ROW_NUMBER() を使用する。 とりあえずMSDNを見てみたらこんな風に書いてあった。 ROW_NUMBER ( ) OVER ( [ ] ) 以下のようなPersonテーブルがあるとして ID Name Class - 1 山田 A 2 鈴木 A 3 佐藤 B 4 高橋 C これに対して SELECT ROW_NUMBER() OVER(ORDER BY ID DESC) RN ,* FROM Person ORDER BY ID DESC; というクエリを投げれば結果は以下のようになる RN ID Name Class - 1 4 高橋 C 2 3 佐藤 B 3 2 鈴木 A 4 1 山田 A OVER内にPARTITIONを設定すればクラス毎に番号を触れる SELECT ROW_NUMBER() OVER(PARTITION BY C