我有一张简单的桌子。其中一个示例行如下所示:
id | name |
1 | a |
2 | a |
3 | a |
4 | b |
6 | b |
7 | a |
8 | a |
我想获得最后一个连续ID。 所以如果我从' 1'开始,结果应该是' 4'
在此示例中,结果应为' 7'
3 |a |
4 |b |
5 |a |
6 |a |
7 |a |
10|a |
现在只有我在输入数字后选择全部,并以编程方式连续查找。
我该怎么办??
答案 0 :(得分:1)
如果我正确理解了这个问题,这应该适合你:
select id from tableName t1 where not exists(select id from tableName t2 where t2.id=t1.id+1) and (id-(select count(*) from tableName t3 where t3.id<t1.id))=(select min(id) from tableName);
如果你想从10
开始,那应该是:
select id from tableName t1 where not exists(select id from tableName t2 where t2.id=t1.id+1) and (id-(select count(*) from tableName t3 where t3.id<t1.id and t3.id>=10))=10;