麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > SQL Server > 正文

SQL Server 2008 R2——查找最小nIndex,nIndex存在而nIndex+1不存在 求最小連續數組中的最大值

2024-08-31 01:03:24
字體:
來源:轉載
供稿:網友

其實大家稍微動下大腦,問題可以轉化為,是求最小連續數組中的最大值,數組大小可以為1。

=======================================================================

做戲做全套,送佛送到西。

為了便于學習研究,必然是要寫全套示例代碼的。

------------------------------------------------------------------------------------- --by wls --非專業SQL 不求高效 但求能跑 USE tempdb GO ------------------------------------------------------------------------------------- IF OBJECT_ID (N't_MaxInMinContinuousArr', N'U') IS NOT NULL DROP TABLE t_MaxInMinContinuousArr; GO CREATE TABLE t_MaxInMinContinuousArr(SNId INTEGER PRIMARY KEY,SomeDate DATETIME) GO ------------------------------------------------------------------------------------- DECLARE @i INT SET @i =--SNId起始值 DECLARE @TestScale INTEGER SET @TestScale=+@i --數據規模 DECLARE @t DATETIME ,@t DATETIME ,@dd INT ,@dayadd INT ,@tRes DATETIME SET @t = '-- ::' SET @t = '-- ::' SET @dd = DATEDIFF(dd, @t, @t) WHILE @i < @TestScale --數據規模BEGINSET @dayadd = @dd * RAND()SET @tRes = DATEADD(dd, @dayadd, @t) + RAND()INSERT INTO t_MaxInMinContinuousArr VALUES(@i , @tRes)SET @i = @i +END GO --SELECT TOP * FROM t_MaxInMinContinuousArr --GO ------------------------------------------------------------------------------------- --Delete some SNId randomly DECLARE @TestScale INTEGER SET @TestScale= --數據規模 DELETE FROM t_MaxInMinContinuousArr WHERE SNId=--(SELECT abs(checksum(newid()))%@TestScale + ) DELETE FROM t_MaxInMinContinuousArr WHERE SNId=--(SELECT abs(checksum(newid()))%@TestScale + ) GO --SELECT TOP * FROM t_MaxInMinContinuousArr --GO ------------------------------------------------------------------------------------- --now find the SNId that SNId+ is missing. WITH TMinAndMaxSNId AS( SELECT MIN(SNId) AS MinSNId,MAX(SNId) AS MaxSNId FROM t_MaxInMinContinuousArr --The min and max SNId ), TContinuousId AS ( SELECT number AS SNIdCmped FROM master..spt_values,TMinAndMaxSNId WHERE type='p' AND number >=TMinAndMaxSNId.MinSNId AND number <=TMinAndMaxSNId.MaxSNId ) SELECT MIN(res.SNIdCmped)- FROM ( SELECT SNIdCmped FROM TContinuousId EXCEPT SELECT SNId FROM t_MaxInMinContinuousArr) AS res GO

  附上執行計劃

SQL Server 2008 R2——查找最小nIndex,nIndex存在而nIndex+1不存在 求最小連續數組中的最大值

 =======================================================================

我也不知道這代碼能不能用,先發表了后續慢慢改吧。

網絡代碼有風險 復制粘貼需謹慎

執行這兩個語句清緩存。

DBCC FREEPROCCACHE GODBCC DROPCLEANBUFFERSGO

=======================================================================

20151103-01

代碼有問題 有空改

=======================================================================

20151103-02

又嘗試了一下(大概幾十次猜范圍),發現只能處理2048以內的缺失查找。這是個敏感的數字,得研究下。

當然也可能是我不專業,寫的代碼有問題。

幸好不是我在開發、生產中遇到的問題,還能悠哉悠哉的分析查找問題。

這件事的啟示是:你們這些討人厭的爬蟲小網站,錯誤代碼就在這里我還就是不改了。

        你們的行為是違法的,并不是說通知然后刪除就是可以的。

        我保留一切法律賦予我的權利。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 精品一区二区三区网站 | 久久精品com | 55夜色66夜色国产精品视频 | 亚洲日本韩国在线观看 | 国产精品视频一区二区三区四 | 精品一区二区三区不卡 | 一本色道精品久久一区二区三区 | 午夜国内精品a一区二区桃色 | 国内精品伊人久久 | 免费一级毛片观看 | 国产乱子视频 | 56av国产精品久久久久久久 | 毛片在线免费视频 | 久久久www成人免费精品 | 国产精品区一区二区三区 | 九九热视频这里只有精品 | 欧美一级片在线 | 中文字幕免费在线看 | 精品国产乱码久久久久久久 | gogo全球大胆高清人露出91 | av免费在线播放网址 | 国产精品色综合 | 狠狠干天天操 | 亚洲一区中文字幕 | 国产一级二级毛片 | 一区二区视| 国产免费大片视频 | 毛片免费观看视频 | 久草在线综合 | 欧美乱码精品一区 | 在线91观看 | 91欧美视频| 欧美成人综合视频 | 污黄视频在线观看 | 欧美特一级片 | 久久精精品| 九九热视频免费观看 | 在线小视频国产 | 久久91精品国产91久久yfo | 99视频有精品视频高清 | 日本高清黄色片 |