求一条记录的上一条和下一条,大家都用什么方法实现呢?

zhuzhangsuo 发布于 2010/08/27 09:16
阅读 331
收藏 2

如题,比如本站正文的下一篇和上一篇功能

加载中
0
红薯
红薯

上一篇:SELECT id FROM threads WHERE id < [当前id] ORDER BY id DESC LIMIT 1;
下一篇:SELECT id FROM threads WHERE id > [当前id] ORDER BY id ASC LIMIT 1;

0
许恒彪
许恒彪

我一般sql直接取三条

limit    id-1,id+1

0
zhuzhangsuo
zhuzhangsuo

引用来自#3楼“许恒彪”的帖子

我一般sql直接取三条

limit    id-1,id+1

好办法!!有没有考虑过id不连续的情况呢?

0
烈冰
烈冰

引用来自#4楼“zhuzhangsuo”的帖子

引用来自#3楼“许恒彪”的帖子

我一般sql直接取三条

limit    id-1,id+1

好办法!!有没有考虑过id不连续的情况呢?

可以用记录插入的时间做条件,这样就不怕id不连续

0
insights
insights

我感到很诧异,limit  x,y 不是,从X-1个记录开始,有Y个吗?id+1。id可能会有空楼。

0
杨森
杨森

能不能把我上面的账号注销掉。可以用双账号吗?账号合并。

0
红薯
红薯

引用来自#7楼“杨森”的帖子

能不能把我上面的账号注销掉。可以用双账号吗?账号合并。

目前没有提供帐号合并就是了,不想要的帐号就不用呗,先将就一下吧:)

帐号合并这个功能,也就是零星的几个人会用到,但开发起来还是比较复杂的

0
y
yangbb

SELECT RN,
       LAG(RN) OVER(ORDER BY RN) PREVIOS,
       LEAD(RN) OVER(ORDER BY RN) NEXT
  FROM (SELECT ROWNUM + 4 RN FROM DUAL CONNECT BY ROWNUM < 5)

0
JackChu
JackChu

如果主键用的UUID,就使用时间来取上下条

java1995就是按时间来的~

返回顶部
顶部