第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何在SQL運(yùn)行計(jì)數(shù)器中找到“差距”?

如何在SQL運(yùn)行計(jì)數(shù)器中找到“差距”?

元芳怎么了 2019-10-25 10:35:37
我想在SQL表的計(jì)數(shù)器列中找到第一個(gè)“間隙”。例如,如果有值1,2,4和5,我想找出3。我當(dāng)然可以按順序獲取值并手動(dòng)進(jìn)行處理,但是我想知道是否可以在SQL中進(jìn)行處理。另外,它應(yīng)該是非常標(biāo)準(zhǔn)的SQL,可以與不同的DBMS一起使用。
查看完整描述

3 回答

?
慕村9548890

TA貢獻(xiàn)1884條經(jīng)驗(yàn) 獲得超4個(gè)贊

如果您的第一個(gè)值id = 1,則所有答案都可以正常工作,否則將不會(huì)檢測到該差距。例如,如果您的表ID值為3、4、5,則查詢將返回6。


我做了這樣的事情


SELECT MIN(ID+1) FROM (

    SELECT 0 AS ID UNION ALL 

    SELECT  

        MIN(ID + 1)

    FROM    

        TableX) AS T1

WHERE

    ID+1 NOT IN (SELECT ID FROM TableX) 


查看完整回答
反對(duì) 回復(fù) 2019-10-25
?
慕碼人8056858

TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超6個(gè)贊

我想到的第一件事。不確定完全采用這種方式是否是個(gè)好主意,但應(yīng)該可以。假設(shè)表為t,列為c:


SELECT t1.c+1 AS gap FROM t as t1 LEFT OUTER JOIN t as t2 ON (t1.c+1=t2.c) WHERE t2.c IS NULL ORDER BY gap ASC LIMIT 1


編輯:這可能是一個(gè)更快的滴答聲(并且更短?。?/p>


SELECT min(t1.c)+1 AS gap FROM t as t1 LEFT OUTER JOIN t as t2 ON (t1.c+1=t2.c) WHERE t2.c IS NULL


查看完整回答
反對(duì) 回復(fù) 2019-10-25
  • 3 回答
  • 0 關(guān)注
  • 561 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)