<rp id="wnpn7"><ruby id="wnpn7"></ruby></rp>
<progress id="wnpn7"><track id="wnpn7"><rt id="wnpn7"></rt></track></progress>
<ruby id="wnpn7"></ruby>
<ruby id="wnpn7"><blockquote id="wnpn7"><div id="wnpn7"></div></blockquote></ruby>

    1. <em id="wnpn7"><ruby id="wnpn7"><input id="wnpn7"></input></ruby></em>
      1. <button id="wnpn7"><acronym id="wnpn7"></acronym></button><button id="wnpn7"><acronym id="wnpn7"></acronym></button>

        <rp id="wnpn7"><acronym id="wnpn7"></acronym></rp>

        <li id="wnpn7"><object id="wnpn7"><u id="wnpn7"></u></object></li>
        VB.net 2010 視頻教程 VB.net 2010 視頻教程 python基礎視頻教程
        SQL Server 2008 視頻教程 c#入門經典教程 Visual Basic從門到精通視頻教程
        當前位置:
        首頁 > 數據庫 > T-SQL >
        • sql語句大全之如何在數據表當中找出被刪掉的數

        本站最新發布    SQL Server 2016數據庫視頻教程
        試聽地址  
        http://www.squ68.com/eschool/SQLxin3721/

         這個問題是一年前我剛步入IT行業的一個面試題,當時抓破頭皮都想不到的問題,但現在回想過去自身不禁感到可笑,不多扯直接寫解決方案。如何在數據表當中找出被刪掉的數據行ID,意思是:在一堆的數據當中,讓你找出數據存在間隔的那些數據行的ID(先不考慮兩個數據行中存在多個間隔的情況)。

          

          

          可見ID=14那條數據行正是我要們尋找的,對于這種情況,可用自查詢方式處理:

        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        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

         查詢結果:

          

           那么若數據行之間的間隔存在多個的情況怎么辦,其實你可留意第三個字段:“存在的間隔數量”,若存在多個,可考慮循環拼接字符串,放入第四個字段:“被刪除的行ID”就可以了,這是一個思路。

           希望這篇文章能給大家幫助,若存在不足,請留言賜教。

           A young ilder ~ an old beggar !

        相關教程
                
        免费看成年人视频大全_免费看成年人视频在线观看