SQL如何获取上一条..下一条..首尾记录...

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL如何获取上一条..下一条..首尾记录...相关的知识,希望对你有一定的参考价值。

没条记录有不重复的ID,ID不一定连续,但在数据库中一定是按ID从小到大的顺序排列,现知道一个ID值,要取该ID对应记录的上一条或下一条记录,语句该如何编写.....
另如何取首尾记录...

参考技术A 获得上一条的id :select max(id)as id from [表] where id<"[你的要查的id]" order by [.....]

获得下一条的id :select min(id)as id from [表] where id>"[你的要查的id]" order by [.....]

很笨的办法但是很直观·
不知道你是什么数据库··根据不同的数据库有很多不同的写法··
比如 mysql 中的 limit 或者 mssql 中的 top
写法多了去啦··呵呵··上面举个例子罢了··希望对你有帮助
参考技术B 我来回答吧:

指定id 的 升序排列 ,前一条 当前条 和 下一条

如果是 sql server 或者 access

select * from
(
select top 2 * from 你的表 where id = 指定值 order by id desc
union
select top 2 * from 你的表 where id = 指定值 order by id asc
) ttt order by id asc

如果是 mysql server

select * from
(
select * from 你的表 where id = 指定值 order by id desc limit 2
union
select * from 你的表 where id = 指定值 order by id asc limit 2
) ttt order by id asc
参考技术C 下一条:
select top 1 from tb
where id > 知道的ID值
order by id asc

上一条:
select top 1 from tb
where id < 知道的ID值
order by id desc本回答被提问者采纳
参考技术D Id+1 下一条
Id-1 上一条
select top 1 from tb order by id asc 首
select top 1 from tb order by id desc 尾

以上是关于SQL如何获取上一条..下一条..首尾记录...的主要内容,如果未能解决你的问题,请参考以下文章

mysql获取上一条和下一条记录id

PL/SQL 使用 EXEC_SQL Oracle 表单 6i 获取下一条和上一条记录

asp中如何读取当前记录的上一条和下一条记录

Mysql 查询当前数据上一条和下一条的记录

sql查询上一条记录和下一条记录

通过 SQL 读取下一条/上一条记录