解決済み

DBに'no'というint型のフィールドがあってレコードは歯抜けになっ

  • すぐに回答を!
  • 質問No.6093210
  • 閲覧数298
  • ありがとう数4
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 83% (20/24)

DBに'no'というint型のフィールドがあってレコードは歯抜けになっています。
このとき、一番小さい数字の「4」を取得したい場合、どのような方法がよいのでしょうか?
レコード数から、ひとつひとつ見ていくのは余りに非効率だと思いましたが、よい案が浮か
びません。アドバイスを頂けないでしょうか。

no ID
1 aaa
2 bbb
3 ccc
10 abc
11 efg

質問者が選んだベストアンサー

  • 回答No.1

ベストアンサー率 47% (436/922)

こんばんは。

効率的かどうかは知らんが・・・、
単純に4が欲しいだけなら、
SELECT MIN(no + 1) AS min_no
FROM テーブル a
WHERE NOT EXISTS(SELECT no FROM テーブル b WHERE a.no + 1 = b.no)
お礼コメント
GpH2

お礼率 83% (20/24)

taka451213さん

お世話になります。

アドバイスいただいたものを実際のプログラムに入れ、欲しい結果を得ることができました。

ただ、自分自身がなんとなく理解できた…というレベルで、しっかり・はっきり理解ができていません。
これから、内容を確認していきます。

本当にありがとうございました。
投稿日時 - 2010-08-08 00:28:33
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集

ピックアップ

ページ先頭へ