国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > SQL Server > 正文

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

2024-08-31 01:03:24
字體:
供稿:網(wǎng)友

其實大家稍微動下大腦,問題可以轉(zhuǎn)化為,是求最小連續(xù)數(shù)組中的最大值,數(shù)組大小可以為1。

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

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

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

------------------------------------------------------------------------------------- --by wls --非專業(yè)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 --數(shù)據(jù)規(guī)模 DECLARE @t DATETIME ,@t DATETIME ,@dd INT ,@dayadd INT ,@tRes DATETIME SET @t = '-- ::' SET @t = '-- ::' SET @dd = DATEDIFF(dd, @t, @t) WHILE @i < @TestScale --數(shù)據(jù)規(guī)模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= --數(shù)據(jù)規(guī)模 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

  附上執(zhí)行計劃

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

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

我也不知道這代碼能不能用,先發(fā)表了后續(xù)慢慢改吧。

網(wǎng)絡代碼有風險 復制粘貼需謹慎

執(zhí)行這兩個語句清緩存。

DBCC FREEPROCCACHE GODBCC DROPCLEANBUFFERSGO

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

20151103-01

代碼有問題 有空改

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

20151103-02

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

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

幸好不是我在開發(fā)、生產(chǎn)中遇到的問題,還能悠哉悠哉的分析查找問題。

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

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

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 昌邑市| 大同市| 临高县| 田东县| 太仓市| 黎城县| 南平市| 广平县| 繁峙县| 菏泽市| 旬邑县| 华容县| 大宁县| 时尚| 白城市| 连江县| 陈巴尔虎旗| 临高县| 宣武区| 台湾省| 红原县| 万安县| 深水埗区| 通榆县| 连云港市| 九龙县| 象州县| 鄄城县| 大埔县| 遵义市| 攀枝花市| 乃东县| 南川市| 云霄县| 西青区| 吉安市| 新乐市| 桃园市| 都安| 新民市| 武宁县|