SQL笔记-检索出ID为Int或Long中不连续的第一个点
发布日期:2021-06-30 10:47:28 浏览次数:3 分类:技术文章

本文共 670 字,大约阅读时间需要 2 分钟。

命令如下:

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

他会把所有ID+1然后检索出来!然后是:

ID + 1 not in (select MY_ID from TableName)

这是把ID+1不是在ID的数选出来,随后是:

MAP_ID+1<>(select max(MY_ID)+1 from TableName)

将最大的哪个点去掉,最后是:

limit 1

为了避免表里的ID是断断续续的,只拿最小的,未连续的点。

 

如果是这样的需求:选出不连续的点,如果点是连续的就在最大的点上+1

sql和上面一样,就减少<>就可以了

select MY_ID+1 from TableName where MY_ID+1 not in(select MY_ID from TableName) limit 1

 

转载地址:https://it1995.blog.csdn.net/article/details/117688259 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Qt文档阅读笔记-DTLS client解析
下一篇:Qt文档阅读笔记-DTLS server解析

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月15日 17时38分30秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章