加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

查询文章的上下篇Sql语句

发布时间:2020-12-11 23:58:30 所属栏目:MySql教程 来源:网络整理
导读:直接开入正题 文章内容页一般都会有上一篇和下一篇的功能; 那么查询上下篇的sql语句应该怎么写呢;示例数据表:zmd_article自增主键:id当前文章id:10 肯定有人说,这简单啊id+1和id-1不就OK了;sql无非如下: zmd_article id zmd_article id ; #下一篇

直接开入正题

文章内容页一般都会有上一篇和下一篇的功能;

那么查询上下篇的sql语句应该怎么写呢;示例数据表:zmd_article自增主键:id当前文章id:10

肯定有人说,这简单啊id+1和id-1不就OK了;sql无非如下:

zmd_article id zmd_article id; #下一篇

写出这2句sql后;大部分人稍加思索就会发现不妥;如果中间删除了几篇;那取到的值就成空了?这时有人在一旁大喊;可以用for循环啊;再来个if直到不为空为止;不经脑子的随便一想;貌似行得通;但是作为严谨的程序猿;认真思考这个不算方法的方法时候立马发现2个严重的问题;

  1. 我只是想取上一篇文章;结果来了个for查询了NNNN次,严重浪费资源;

  2. 假设现在一共10篇文章,第11篇就为空了,如果用for就会无限循环下去一直为空;如此来说;

果断是不能这样写了;这时又有人在一旁大喊;用limit不就可以了;正解;

zmd_article id LIMIT zmd_article id LIMIT ; #下一篇

这就完了吗?NO;如果用这sql取;下一篇没问题了;但是上一篇会一直是第一篇文章!这时来个倒序即可;

zmd_article id id LIMIT ; #上一篇

感谢大家阅读到这里~~~

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读