sql server top 分页 sql server 2000 top+order分页方法解析

sql server 2000 top+order分页方法解析――简介

因为一直接触的是mysql数据库,使用mysql中limit语句时行分页查询,所以,并没有研究过php+sql server数据库分页。对于sql server2005以上,可以使用ROW_NUMBER() OVER()进行数据库分页,但在sql server 2000就显得鸡肋了。不过,我们可以通过sql server中的top+order排序,达到limit相同的效果,但对于大数据量来说,页码越大,查询速度越慢。

sql server 2000 top+order分页方法解析――方法/步骤

sql server 2000 top+order分页方法解析 1、

sql server 2000 top+order分页语句

SELECT*FROM(

SELECTTOPpagesize*FROM(--pagesize为分页的条数

SELECTTOPoffset*--offset为当前页码乘以pagesize

FROMtableorderbyfielddesc

)ast1orderby fieldasc

)ast2orderbyfielddesc

语句看起来有点复杂,其中的算法很简单,我们把语句逐个分解出来,就能明白其中算法的实现了。


sql server 2000 top+order分页方法解析 2、

第一层语句

如果有表aid name1 一2 二3 三4 四5 五6 六

我们按每页两条记录,并以为倒序排列,第二页的结果应为4,3。

查询语句应为

SELECT*FROM(

sql server top 分页 sql server 2000 top+order分页方法解析

SELECTTOP 2 *FROM(--pagesize为分页的条数

SELECTTOP 2*2 *--offset为当前页码乘以pagesize

FROMtableorderbyfielddesc

)ast1orderby fieldasc

)ast2orderbyfielddesc

按最里层的语句:Select TOP 2*2 *FROMtableORDERBYfieldDESC

pagesize为2,当前页码page为2时,offset的值应为4,查询出4条记录,按id的倒序排列。返回的数据应为:6,5,4,3


sql server 2000 top+order分页方法解析 3、

第二层语句

SELECTTOP 2 *FROM()t1orderbyfieldasc

这个语句的关键就在排序上,这个select语句会对最里层的select语句得到的结果,进行逆向排序。在第一层sql语句返回的结果是:6,5,4,3,逆向排序之后:3,4,5,6。因为分页数据是pagesize等于2,top之后,得到3,4。


sql server 2000 top+order分页方法解析 4、

第三层语句

SELECT*FROM( ……)ast2orderbyfielddesc

第三层语句只是起到一个正常排序的作用,因为第二层语句把结果逆向排序了。我们要得到我们想要的倒序,就必需加上此条语句。最后得到的结果就为:4,3;


sql server 2000 top+order分页方法解析 5、

总数不能被分页数整除的解决方法

如果数据总数除以pagesize不为0时,那么当前的分页数是不准确的。例如,记录总数为7,pagesize为2,当count/pagesize时,page为3,余1。当你按pagsize等于2,offset=pagesize*4查询最后一条记录时,得到的结果却还是两条。所以我们要加一个判断,当count%pagesize不等于零时并且page大于或者等于pagecount时,pagsize等于1,

  

爱华网本文地址 » http://www.413yy.cn/a/8104280103/229646.html

更多阅读

(KD)从公式计算方法解析KD指标 kd指标底背离选股公式

解析KD指标有关KD指标的优缺点以及技战术,不是这里要论述的内容,已有太多的专门文章给予论述。这里尝试从理论的角度对KD指标变动的内在逻辑进行剖析,进而寻找指标变动引导作用生效的条件,只适用依据趋势进行把握和操作的投资者,并不合适

Word文档删除页脚眉页方法 word文档添加页眉页脚

分两种情况第一种情况:在Word文档应用简单的——插入——页码——页眉页脚,从而生成的页眉页脚。这种方式生成的页眉页脚删除最简单。直接双击选中两次页眉页脚。删除页眉页脚的就成了。第二种情况:

非洲堇砍头方法 非洲堇的分苗方法

夏天我的堇苗也烂了不少,秋天天气凉爽了有的开始努力生长了,可是有些还是不太好,不肯长或者是叶子发软,这样的只好砍头处理一下了,因为这样的多了就总结了点经验,大家共同探讨哈。这种方法仅仅适宜秋冬春天气凉爽的气候,夏天太热还是容易

声明:《sql server top 分页 sql server 2000 top+order分页方法解析》为网友薰衣草的夏天分享!如侵犯到您的合法权益请联系我们删除