2016-09-21 45 views
0

我有一個表,是一個整數,但並不像任何普通增量列:1,20,30,33查找SQL列下一個號碼

我想這將是容易的,但我想要的是寫一個將返回下一個數字的查詢,如果我的當前數字是1,我該如何返回20?

+1

這讀像一個家庭作業的任務問題?你試過什麼了? – Igor

+0

有幾個選項使用解析併爲每個排序的值賦予一個行號,例如'row_number()over(order by col)',然後選擇第2行。另一個選項是'select max(col)from table where col> currentNumber'或'從表格中選擇top 1,其中col> currentNumber按col排列許多選項。 – xQbert

回答

1

最簡單的是選擇第一最小值即比一個更大的您有:

SELECT TOP 1 MIN(COL)FROM表,其中山坳> currentNumber

你的問題是,這不是什麼好的情況下(如什麼是currentNumber?變量?從另一個表?)

+0

是的,讓我們說我有[1]作爲變量...我想返回[20],因爲這是下一步。是的,您的查詢正是我所需要的。謝謝! – glnnbnz

0

我覺得你只是想選擇下一個最高值......從表 選擇列名其中列名> current_value

+0

爲了安全起見,您可能需要對記錄進行排序。 –