2016-09-21 42 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

为了安全起见,您可能需要对记录进行排序。 –