首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

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

2012-05-07 
怎样从一组不连续的数字中选出跳过了那些数字?假如Student表中StuNumber列的数据为1101、1102、1103、1104、11

怎样从一组不连续的数字中选出跳过了那些数字?
假如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 swhere StuNumber+1 not in (select StuNumber from Student)
[解决办法]
好复杂的逻辑 需要建个连续数字的表 然后left join你这个表

热点排行