2016-09-21 11 views
0

で次の番号Iが整数であるテーブルではなく、のような任意の一般的な単位でのカラムがあります:1、20、30、33検索SQL列

が、私はこれは簡単だろうと思ったが、私が望むすべてがにあります私の現在の番号が1の場合のように、次の番号を返すクエリを書いてください。どのように私は20を返しますか?私はあなただけの次の最高値を選択したいと思います

+1

これは読む宿題の質問のように?これまでに何を試しましたか? – Igor

+0

いくつかのオプションは、アナリティックを使用して、 'row_number()by order by col ')のような順序付けられた各値に行番号を割り当て、次に行番号2を選択します。' select table(col> currentNumber 'または' col> currentNumber order by col'の多くのオプションのテーブルからトップ1を選択します。 – xQbert

答えて

1

最も簡単にあなたが持っているものよりも大きい最初のmin値を選択することです。

あなたが持っているCOL> currentNumber

問題は、これが何か良い状況ではないということですテーブルFROM

SELECT TOP 1 MIN(COL)(例えばcurrentNumber何ですか?変数?別のテーブルから?)

+0

はい、私は変数として[1]を持っているとしましょう...それは次のステップなので[20]を返したいと思います。はい、あなたのクエリーは私が必要としていたものでした。ありがとう! – glnnbnz

0

...テーブルから 選択したcolumn_name column_nameには>現在の値

+0

安全のためにレコードを並べ替えることができます。 –