那么若数据行之间的间隔存在多个的情况怎么办

 
那几个主题素材是一年前我刚走入IT行当的多少个面试题,当时抓破头皮都想不到的难点,但近来追思过去作者禁不住以为可笑,十分的少扯直接写应用方案。怎么样在数码表当中寻找被删掉的数目行ID,意思是:在一群的数目在这之中,让您找寻多少存在间距的这三个数据行的ID(先不构思八个数据行中存在多少个区间的气象卡塔尔国。

 查询结果:

   A young ilder ~ an old beggar !

  图片 1

 

 
可知ID=14那条数据行正是自家要们寻觅的,对于这种状态,可用自己检查询方式处理:

  图片 2

 
 那么若数据行之间的间距存在八个的气象咋做,其实你可注意第八个字段:“存在的区间数量”,若存在八个,可构思循环拼接字符串,归入第八个字段:“被剔除的行ID”就足以了,那是一个思路。

   希望那篇小说能给大家扶助,若存在欠缺,请留言赐教。

select ID,New_ID,(New_ID - ID -1) as '存在的间隔数量',ID+1 as '被删除的行ID'
from
(
select ID,New_ID=(
select min(b.ID) id
from FamilyImages b
where b.id > a.id
) 
from FamilyImages a
) c
where ID+1 <> New_ID

  图片 3

相关文章