怎样从一组不连续的数字中选出跳过了那些数字?该怎么解决

怎样从一组不连续的数字中选出跳过了那些数字?

假如Student表中StuNumber列的数据为1101、1102、1103、1104、1107。

对于StuNumber列进行怎样的select操作才能显示1105?

就是判断中间有没有跳过某个数,如果跳过了几个数,选择跳过的数字中最小的一个(本例为1105),如果中间没有跳过数字(假如StuNumber列中的数据为1101、1102、1103、1104、1105、1106、1107)时,显示最大的数字+1,即为1108。


SQL code

select min(StuNumber+1)
from Student s
where StuNumber+1 not in (select StuNumber from Student)


好复杂的逻辑 需要建个连续数字的表 然后left join你这个表
怎样从一组不连续的数字中选出跳过了那些数字?该怎么解决

相关文章:

你感兴趣的文章:

标签云: