遇到显示文章时显示上一篇、下一篇的id、title提示需求,经常就是取到当前文章,然后再根据发布时间分别取到上一篇、下一篇文章,然是这样要交互三次数据库,想写一个sql一次执行出来,原来写的是

SELECT*,beforeId = ( SELECT TOP 1 id FROM Articles WHERE PublishTime > ( SELECT PublishTime FROM Articles WHERE id = 'c703b010-7218-4e99-b76a-4603ea65f16f' ) ORDER BY PublishTime ),beforeTitle = ( SELECT TOP 1 Title FROM Articles WHERE PublishTime > ( SELECT PublishTime FROM Articles WHERE id = 'c703b010-7218-4e99-b76a-4603ea65f16f' ) ORDER BY PublishTime ),afterId = ( SELECT TOP 1 id FROM Articles WHERE PublishTime < ( SELECT PublishTime FROM Articles WHERE id = 'c703b010-7218-4e99-b76a-4603ea65f16f' ) ORDER BY PublishTime DESC ),afterTitle = ( SELECT TOP 1 Title id FROM Articles WHERE PublishTime < ( SELECT PublishTime FROM Articles WHERE id = 'c703b010-7218-4e99-b76a-4603ea65f16f' ) ORDER BY PublishTime DESC )
FROMArticles
WHEREid = 'c703b010-7218-4e99-b76a-4603ea65f16f'

有四个子查询,后来经人指点,查出上一篇后直接把它的id,title拼接一下就行了,省了一次子查询

--- 更进一步的用法:使用字符串拼接
SELECT*,before = ( SELECT TOP 1 (convert(varchar(36),id)+'|'+Title) as aa FROM Articles WHERE PublishTime > ( SELECT PublishTime FROM Articles WHERE id = '0F6CFE90-AC48-42CE-98A0-59F9195A95B2' ) ORDER BY PublishTime ),after = ( SELECT TOP 1 (convert(varchar(36),id)+'|'+Title) FROM Articles WHERE PublishTime < ( SELECT PublishTime FROM Articles WHERE id = 'c703b010-7218-4e99-b76a-4603ea65f16f' ) ORDER BY PublishTime DESC )
FROMArticles
WHEREid = '0F6CFE90-AC48-42CE-98A0-59F9195A95B2'

sql查询文章上一篇下一篇相关推荐

  1. 用Java 实现文章内容上一篇下一篇功能

    ITDragon博客 用Java 实现文章内容上一篇下一篇功能,逻辑和分页不一样.效果和本页面底部一样.采用的是Spring data jpa SQL语句实现该功能 SQL 语句查询的是该数据的上一条 ...

  2. java文章上一篇下一篇_每个人都必须阅读的10篇Java文章

    java文章上一篇下一篇 一个月前,我们发布了每个人都必须阅读的10篇SQL文章列表. 我们相信jOOQ博客上的文章列表将为我们的读者带来非凡的价值. jOOQ博客是一个专注于Java和SQL的博客, ...

  3. ShopEx文章页增加上一篇下一篇功能

    在所有的文章页中,会经常发现都会有这么一个功能,能引导用户去查看上一篇文章或下一篇文章,而在ShopEx中,我DEZEND了一下文章模型,并没有找到上一篇这样的函数功能,因此,这就需要我们手动在对应的 ...

  4. Html做文章查看上一篇下一篇功能,SDCMS文章添加上一篇、下一篇

    SDCMS是一款小型ASP内容管理系统管理开源程序,虽然是小型的,但是主要功能都俱备.在细节方面,该款开源程序没有对内置标签进行统一的管理,不方便日后功能的修改,如果需要修改或者添加,需要去官方网站上 ...

  5. ecshop调用文章显示上一篇下一篇_无需整理

    为什么80%的码农都做不了架构师?>>>    首先调用文章中的上一篇和下一篇语法为: 上一篇:{$next_article.title} 下一篇:{$prev_article.ti ...

  6. 如何修改dede文章页上一篇下一篇"没有了"

    dedecms上一篇下一篇调用标签: {dede:prenext get='pre'/} {dede:prenext get='next'/} 如何自定义织梦dedecms上一篇下一篇标签调用内容呢, ...

  7. 织梦手机站文章页调用显示只显示 上一篇下一篇 不显示标题

    include目录下的这个文件:arc.archives.class.php中做以下修改 将827行代码-834行代码替换成$this->PreNext['pre'] = "上一篇:& ...

  8. php转盘抽奖源码yii2,yii2实现 上一篇,下一篇 功能的代码实例

    最近做了简答的文章详情页面,需要在页面底部加入上一篇,下一篇 按钮,分析了下,最基本需要有文章的标题和id(作为参数). 开始想的是当前的id加减1,但考虑到如果部分id丢失就不对了,于是分别查询比当 ...

  9. Java实现上一篇下一篇内容整理

    1.设置接收上一篇下一篇的实体对象 /**  * 上一篇 下一篇的实体接收  * @author sl  * @since 2018-01-05  */ public class PreAndNext ...

最新文章

  1. 刻意练习:LeetCode实战 -- Task01. 两数之和
  2. USTC English Club Note20171023(2)
  3. 装×失败的后果。。。 | 今日最佳
  4. Python基础知识__字符串
  5. 蓝桥杯入门练习1-4(python)
  6. Jenkins+Ant自动布署war
  7. 深入学习JavaScript: apply 方法 详解
  8. 2016年10月20日 .NET Core 1.0.2 更新
  9. 通过数据,从键盘录入学生考试科目数,然后依次录入学的每一科分数.使用数组存储学生分数.然后输出总分,平均分,简单易理解
  10. 五种主流的虚拟化技术
  11. 自学SpringBoot二之配置文件--yml格式配置
  12. php使用 163邮箱接口,G. PHP发送邮件功能实现(使用163邮箱)
  13. linux 查看硬盘序列号、设备序列号、系统安装时间
  14. 《信息系统布线技术》实验报告之交叉线制作
  15. 51单片机:点亮LED灯
  16. 数据可视化:科研论文配色
  17. solidworks动画制作教程——装配体爆炸动画
  18. 用 Python 开发简单交互式 Web 应用
  19. MySql学习-基础篇
  20. 熊掌号 php提交,网站接入熊掌号,网页配置并提交

热门文章

  1. ctfshow CRYPTO
  2. 2019 CCPC 秦皇岛 MUV LUV EXTRA kmp
  3. 【网络小说推荐】宗教裁判所
  4. 在linux系统上下载QQ
  5. 【图片新闻】俄罗斯新型核动力巡航导弹进入新一轮测试阶段
  6. dubbox入门demo
  7. 我花了22年研究25321家日本企业:公司不想死,就必须警惕4件事
  8. 【java基础】史上最详细的配置环境变量步骤
  9. 企业版腾讯应用宝开发者账号审请流程
  10. 艾司博讯:拼多多店铺权重如何累积