- ベストアンサー
DBに'no'というint型のフィールドがあってレコードは歯抜けになっ
DBに'no'というint型のフィールドがあってレコードは歯抜けになっています。 このとき、一番小さい数字の「4」を取得したい場合、どのような方法がよいのでしょうか? レコード数から、ひとつひとつ見ていくのは余りに非効率だと思いましたが、よい案が浮か びません。アドバイスを頂けないでしょうか。 no ID 1 aaa 2 bbb 3 ccc 10 abc 11 efg
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 効率的かどうかは知らんが・・・、 単純に4が欲しいだけなら、 SELECT MIN(no + 1) AS min_no FROM テーブル a WHERE NOT EXISTS(SELECT no FROM テーブル b WHERE a.no + 1 = b.no)
お礼
taka451213さん お世話になります。 アドバイスいただいたものを実際のプログラムに入れ、欲しい結果を得ることができました。 ただ、自分自身がなんとなく理解できた…というレベルで、しっかり・はっきり理解ができていません。 これから、内容を確認していきます。 本当にありがとうございました。