首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

查询表中从增长列的第一个不连续字段

2012-08-25 
查询表中自增长列的第一个不连续字段昨天以前的同事问了我一个需求,要查询指定表中自增长序列的第一个不连

查询表中自增长列的第一个不连续字段

昨天以前的同事问了我一个需求,要查询指定表中自增长序列的第一个不连续的的值。

?

之前一直使用oracle,就先举出了一种oracle的方法:

select t.n from (SELECT id,ROWNUM N FROM demoinc order by id)t where t.id!=t.N and rownum=1

这条语句利用oracle内置提供的伪列rownum,应该还算高效吧。

?

后来之前的同事说不用oracle,他们正在使用sqlite。

对sqlite了解不是很多,放弃了一些性能,改用子查询实现了:

select MIN(id) from demoinc a? where not exists(select * from demoinc where id=a.id+1)

?

后来考虑了一下,估计在上层应用中使用vector加快排效率应该也会不错。

热点排行