こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

SQLServerで一意の項目がない場合の行番

こんにちは。

SQLServerで一意の項目がある場合はROW_NUMBERを使用すると思うのですが、
もし一意の項目がない場合は、どのようにテーブルやビューに行番号を
ふればよいでしょうか。

お手数ですが教えていただけると幸いです。
よろしくお願いいたします。

投稿日時 - 2016-10-27 11:49:02

QNo.9248208

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

質問の意図がちょっと良く分からないので検討ちがいかもしれませんが・・・。
ROW_NUMBERを使用するのであれば、普通にOVERの中でORDER BYで並び替えれば良いのでは?
テーブルに行番号のような連番を入れたいのであれば、2008R2までだったらIDENTITY+ユニークでも良いけれど、2010以降だったら強制シャットダウンしてしまった時の仕様が変わってる(型によって+1000とかされ気持ち悪い)から、計算できる型か、もしくは文字列型(文字数固定がおすすめ)で、現在のMaxを取得してその次の値を設定するのが良いのではないでしょうか?

投稿日時 - 2016-11-03 18:01:49

ANo.1

int型の列を作って、IDENTITYの指定で「IDである」を「はい」にして、「IDの増分」を「1」にするといいかと思います。

投稿日時 - 2016-10-27 16:37:17

あなたにオススメの質問