您的位置:首页 > 博客中心 > 数据库 >

经典sql-获取当前文章的上一篇和下一篇

时间:2022-03-14 03:45

  我们在做资讯类的网站的时候,肯定会有这么一个需求,就是在资讯内容页的下方需要给出上一篇和下一篇资讯的链接。上次我一同事兼好友兼室友就遇到了这么一个需求,一开始我们都把问题想复杂了,先取的是符合条件的资讯信息集合,然后再找到当前这条资讯信息在集合中的索引,通过索引再找到他的上一篇资讯和下一篇资讯信息,这种做法确实是可以实现这个需求,但是一旦资讯信息的数量过大,很有可能因为这段代码导致整个资讯内容页半天都打不开,所以,必须得另辟蹊径。

  其实这个问题很简单,后来经过我们主管给我们稍微一指点,瞬间觉得高大尚啊,自己咋就没想到呢?还是太年轻啊!实现原理就是通过当前资讯信息的Id去数据库查找出符合排序规则的上一条和下一条资讯信息,是不是超级简单?直接看代码吧!

  当前资讯内容页的Id为62,专业类别Id为20.

select top 1 -1 as [Mark],[ID],[Title] from [ZiXun_Info] where [SubjectID]=20 and [ID]<62
union 
select top 1  1 as [Mark],[ID],[Title] from [ZiXun_Info] where [SubjectID]=20 and [ID]>62

  好了,给大家看看效果.

  gxlsystem.com,布布扣

  好了,经过一番波折之后,我们最终还是修成了正果,这里你可以把[Mark]换成一个你内容页用不到的字段来代替,这里我就用了[Sort]来代替,这样就不用更改业务Model了。

  小结:不要把简单的问题复杂化,要学会把复杂的问题简单化,,Fighting!  

热门排行

今日推荐

热门手游