上一篇下一篇 排序 (非ID字段排序)
网上看了很多关于"上一篇下篇"的文章,可大都是按ID排序。
实际上,很少有按ID排序的。
分享下我的单独排序字段的写法,主要分为ms sql2000 和 ms 2005及以上版本。
SQL 2005及以上版本写法。
declare @currentID int
set @currentID=4 ;with temp
as
(
select row_number() over( order by short desc , createtime desc) as rowNum, *
from ch_ItemInformation
)
select * from temp where rowNum in ((select rowNum from temp where id=@currentID)+1)
union all
select * from temp where rowNum in ((select rowNum from temp where id=@currentID)-1)
SQL 2000写法
--前提:排序后要唯一,即排序后不能有两条
declare @Num int
set @Num=1
select @Num=@Num+1 from dbo.ch_ItemInformation
where Short>=0 and ID >=10
order by Short desc, ID desc set @Num=@Num+1
select @Num select top 3 * from (
select top (select @Num) * from ch_ItemInformation order by Short desc, ID desc
) as a
order by a.Short desc, a.ID desc
有网友问: 既然使用了row_number() 函数,where 中为何还用in?
说明下: 只是为了找到ID对应的排序后的排序号. 改成等于号也行. 如下:
declare @currentID int
set @currentID=1 ;with temp
as
(
select row_number() over( order by short desc , createtime desc) as rowNum, *
from dbo.Product
)
select * from temp where rowNum = ((select rowNum from temp where id=@currentID)+1)
union all
select * from temp where rowNum = ((select rowNum from temp where id=@currentID)-1)
上一篇下一篇 排序 (非ID字段排序)的更多相关文章
- ecshop调用文章显示上一篇下一篇
首先调用文章中的上一篇和下一篇语法为: 代码如下 复制代码 上一篇:<a href="{$next_article.url}">{$next_article.titl ...
- thinkphp5.0 文章详情页 上一篇 下一篇
// 上一篇下一篇(同一个分类下,先确定该分类的pid) public function frontAfter() { $param=$this->param; $front=Db::name( ...
- MVC3学习:实现文章上一篇下一篇链接
文章的显示都是通过id查询数据库来显示.但是文章会经常删除,因此id号可能不是连续的,所以上一篇下一篇文章,不能简单的做id加减法. 我的思路是:先将表格中所有文章的ID号全部放入一个数组中,如果文章 ...
- dedecms手机网站内页上一篇/下一篇的翻页功能
修改文件include/arc.archives.class.php文件. 1.搜索 function GetPreNext($gtype='') 2.将这个函数的所有内容替换为 function G ...
- phpcms v9文章内容页调用上一篇下一篇的方法(转)
phpcms v9文章内容页调用上一篇下一篇的方法如下,魔客吧(www.moke8.com)提示您直接摘取如下代码中的红色部分即可: 上一篇:{$previous_page[url]}" t ...
- ShopEx文章页添加上一篇下一篇功能
在全部的文章页中,会常常发现都会有这么一个功能.能引导用户去查看上一篇文章或下一篇文章,而在ShopEx中,我DEZEND了一下文章模型.并没有找到上一篇这种函数功能,因此,这就须要我们手动在相应的文 ...
- thinkPHP中的文章详情页实现“上一篇下一篇”功能经验分享
前段时间在公司中接触到了用thinkPHP搭建的项目,其中涉及到了文章详情页上一篇下一篇翻页的功能实现效果. 因为刚接触这套框架和PHP,所以整理一下实现该功能的经验方法. 如果有不到位的地方,欢迎指 ...
- wordpress文章显示同一分类下的上一篇下一篇
我们在用wordpress开发网站的时候会在文章页中引入上一篇下一篇,但是发现新闻页的上下文章有可能是产品分类的post,这个就不太合理,如何显示同一分类下的上一篇下一篇文章呢?随ytkah一起来看看 ...
- 非分页中的上一篇下一篇sql语句如何写
上一页:where id=(select max(id) from examination where id < #{id} and class=#{class}) 下一页:where id=( ...
随机推荐
- 你会用shuffle打乱列表吗?
在网站上我们经常会看到关键字云(Word Cloud)和标签云(Tag Cloud),用于表明这个关键字或标签是经常被查阅的,而且还可以看到这些标签的动态运动,每次刷新都会有不一样的关键字或便签,让浏 ...
- Cocos2d-x CCNotificationCenter 通知中心
相信接触过ios开发的人来说对NSNotificationCenter都不陌生.而在cocos2d-x中也参照这个类,提供了CCNotificationCenter这个类,用作通知中心. 那么Noti ...
- CentOS7 vs centos6
The CentOS Project has announced general availability of CentOS-7, the first release of the free Lin ...
- 面向对象程序设计-C++_课时30运算符重载——基本规则_课时31运算符重载——原型_课时32运算符重载——赋值_课时33运算符重载——类型转换
区分初始化,赋值 #include <iostream> using namespace std; class Fi { public: Fi() {}//1构造函数 }; class F ...
- Extjs 4 生成饼状图的例子
前台: //远程抄表设备下落图表数据 var Store1 = new Ext.data.Store({ <span style="white-space:pre"> ...
- Tomcat的JVM内存大小如何设置?【转】
[转]:专家答疑 Tomcat的JVM内存大小如何设置? 本文和大家重点讨论一下如何设置Tomcat的JVM内存大小,JAVA程序启动时JVM都会分配一个初始内存和最大内存给这个应用程序.这个初始内存 ...
- 部署SharePoint2013解决方案
Add-SPSolutionInstall-SPSolution -Identity Grain2013.wsp -GACDeployment -CompatibilityLevel {14,15} ...
- 防止自己的网站被别人frame引用造成钓鱼
自己负责的某一网站,最近被不法份子通过<frame>的方式引入,用户点击对方的域名后,看到的内容跟自己网站一模一样.但是右击查看源码就会发现其中的原理: <!DOCTYPE HTML ...
- 块对象block小结
blcok的形式 ^(参数列){主体} block作为返回值
- 解决 jQuery-datepicker无法弹出日期的问题
1.确保 jquery-ui.css.jquery.min.js和jquery-ui.min.js 三个文件的引用 2.如果是下载网站上的html,需要删除时间<input>的hasDat ...