SQL笔记-检索出ID为Int或Long中不连续的第一个点
生活随笔
收集整理的這篇文章主要介紹了
SQL笔记-检索出ID为Int或Long中不连续的第一个点
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
命令如下:
select MY_ID+1 from TableName where MY_ID+1 not in(select MY_ID from TableName) and MAP_ID+1<>(select max(MY_ID)+1 from TableName) limit 1解析下:
select MY_ID+1 from TableName where MY_ID+1 not in(select MY_ID from TableName ) and MAP_ID+1<>(select max(MY_ID)+1 from TableName ) limit 1首先是:
select MY_ID+1 from TableName他會(huì)把所有ID+1然后檢索出來(lái)!然后是:
ID + 1 not in (select MY_ID from TableName)這是把ID+1不是在ID的數(shù)選出來(lái),隨后是:
MAP_ID+1<>(select max(MY_ID)+1 from TableName)將最大的哪個(gè)點(diǎn)去掉,最后是:
limit 1為了避免表里的ID是斷斷續(xù)續(xù)的,只拿最小的,未連續(xù)的點(diǎn)。
?
如果是這樣的需求:選出不連續(xù)的點(diǎn),如果點(diǎn)是連續(xù)的就在最大的點(diǎn)上+1
sql和上面一樣,就減少<>就可以了
select MY_ID+1 from TableName where MY_ID+1 not in(select MY_ID from TableName) limit 1?
總結(jié)
以上是生活随笔為你收集整理的SQL笔记-检索出ID为Int或Long中不连续的第一个点的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Java笔记-Integer或Long转
- 下一篇: QtJava笔记-Qt与Java进行SS