对于StuNumber列进行怎样的select操作才能显示1105?
就是判断中间有没有跳过某个数,如果跳过了几个数,选择跳过的数字中最小的一个(本例为1105),如果中间没有跳过数字(假如StuNumber列中的数据为1101、1102、1103、1104、1105、1106、1107)时,显示最大的数字+1,即为1108。
4 个解决方案
#1
这么复杂,有什么目的? 为什么不用程序来实现。
#2
select min(StuNumber+1)
from Student s
where StuNumber+1 not in (select StuNumber from Student)
#3
好复杂的逻辑 需要建个连续数字的表 然后left join你这个表
#4
牛人就是牛人!!!非常感谢!!!
#1
这么复杂,有什么目的? 为什么不用程序来实现。
#2
select min(StuNumber+1)
from Student s
where StuNumber+1 not in (select StuNumber from Student)
#3
好复杂的逻辑 需要建个连续数字的表 然后left join你这个表
#4
牛人就是牛人!!!非常感谢!!!