sql查询文章上一篇下一篇
遇到显示文章时显示上一篇、下一篇的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查询文章上一篇下一篇相关推荐
- 用Java 实现文章内容上一篇下一篇功能
ITDragon博客 用Java 实现文章内容上一篇下一篇功能,逻辑和分页不一样.效果和本页面底部一样.采用的是Spring data jpa SQL语句实现该功能 SQL 语句查询的是该数据的上一条 ...
- java文章上一篇下一篇_每个人都必须阅读的10篇Java文章
java文章上一篇下一篇 一个月前,我们发布了每个人都必须阅读的10篇SQL文章列表. 我们相信jOOQ博客上的文章列表将为我们的读者带来非凡的价值. jOOQ博客是一个专注于Java和SQL的博客, ...
- ShopEx文章页增加上一篇下一篇功能
在所有的文章页中,会经常发现都会有这么一个功能,能引导用户去查看上一篇文章或下一篇文章,而在ShopEx中,我DEZEND了一下文章模型,并没有找到上一篇这样的函数功能,因此,这就需要我们手动在对应的 ...
- Html做文章查看上一篇下一篇功能,SDCMS文章添加上一篇、下一篇
SDCMS是一款小型ASP内容管理系统管理开源程序,虽然是小型的,但是主要功能都俱备.在细节方面,该款开源程序没有对内置标签进行统一的管理,不方便日后功能的修改,如果需要修改或者添加,需要去官方网站上 ...
- ecshop调用文章显示上一篇下一篇_无需整理
为什么80%的码农都做不了架构师?>>> 首先调用文章中的上一篇和下一篇语法为: 上一篇:{$next_article.title} 下一篇:{$prev_article.ti ...
- 如何修改dede文章页上一篇下一篇"没有了"
dedecms上一篇下一篇调用标签: {dede:prenext get='pre'/} {dede:prenext get='next'/} 如何自定义织梦dedecms上一篇下一篇标签调用内容呢, ...
- 织梦手机站文章页调用显示只显示 上一篇下一篇 不显示标题
include目录下的这个文件:arc.archives.class.php中做以下修改 将827行代码-834行代码替换成$this->PreNext['pre'] = "上一篇:& ...
- php转盘抽奖源码yii2,yii2实现 上一篇,下一篇 功能的代码实例
最近做了简答的文章详情页面,需要在页面底部加入上一篇,下一篇 按钮,分析了下,最基本需要有文章的标题和id(作为参数). 开始想的是当前的id加减1,但考虑到如果部分id丢失就不对了,于是分别查询比当 ...
- Java实现上一篇下一篇内容整理
1.设置接收上一篇下一篇的实体对象 /** * 上一篇 下一篇的实体接收 * @author sl * @since 2018-01-05 */ public class PreAndNext ...
最新文章
- 刻意练习:LeetCode实战 -- Task01. 两数之和
- USTC English Club Note20171023(2)
- 装×失败的后果。。。 | 今日最佳
- Python基础知识__字符串
- 蓝桥杯入门练习1-4(python)
- Jenkins+Ant自动布署war
- 深入学习JavaScript: apply 方法 详解
- 2016年10月20日 .NET Core 1.0.2 更新
- 通过数据,从键盘录入学生考试科目数,然后依次录入学的每一科分数.使用数组存储学生分数.然后输出总分,平均分,简单易理解
- 五种主流的虚拟化技术
- 自学SpringBoot二之配置文件--yml格式配置
- php使用 163邮箱接口,G. PHP发送邮件功能实现(使用163邮箱)
- linux 查看硬盘序列号、设备序列号、系统安装时间
- 《信息系统布线技术》实验报告之交叉线制作
- 51单片机:点亮LED灯
- 数据可视化:科研论文配色
- solidworks动画制作教程——装配体爆炸动画
- 用 Python 开发简单交互式 Web 应用
- MySql学习-基础篇
- 熊掌号 php提交,网站接入熊掌号,网页配置并提交