博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL分页语句三方案
阅读量:6218 次
发布时间:2019-06-21

本文共 938 字,大约阅读时间需要 3 分钟。

方法一:

SELECT TOP 页大小 *FROM table1WHERE id NOT IN          (          SELECT TOP 页大小*(页数-1) id FROM table1 ORDER BY id          )ORDER BY id

 方法二:

SELECT TOP 页大小 *FROM table1WHERE id >          (          SELECT ISNULL(MAX(id),0)           FROM                 (                SELECT TOP 页大小*(页数-1) id FROM table1 ORDER BY id                ) A          )ORDER BY id

 方法二倒序:

SELECT TOP 页大小 * FROM table1 WHERE ID <= 	( 	SELECT ISNULL(MIN(ID),(SELECT MAX(ID) FROM table1 )) 	FROM 		( 		SELECT TOP (页大小*(页数-1)) ID FROM tbl_files ORDER BY ID DESC 		) A 	) ORDER BY ID DESC

 方法三

SELECT TOP 页大小 * FROM         (        SELECT ROW_NUMBER() OVER (ORDER BY id) AS RowNumber,* FROM table1        ) AWHERE RowNumber > 页大小*(页数-1)

分页方案二:(利用ID大于多少和SELECT TOP分页)效率最高,需要拼接SQL语句

分页方案一:(利用Not In和SELECT TOP分页)   效率次之,需要拼接SQL语句
分页方案三:(利用SQL的游标存储过程分页)    效率最差,但是最为通用

 

PS:这三条方案是在网上搜到的,做分页的时候选用的方案二,发现直接套用语句不能满足要求,因为根据发帖顺序,是需要倒序排列的,就是最新发帖需要排到最前面,于是仿照方案二改成了倒序,希望对大家有所帮助。

转载地址:http://czoja.baihongyu.com/

你可能感兴趣的文章
netty框架的学习笔记 + 一个netty实现websocket通信案例
查看>>
我的友情链接
查看>>
nginx在reload时候报错invalid PID number
查看>>
神经网络和深度学习-第二周神经网络基础-第二节:Logistic回归
查看>>
Myeclipse代码提示及如何设置自动提示
查看>>
setTimeOut(),和setInterVal()调用函数加不加括号!!!
查看>>
c/c++中保留两位有效数字
查看>>
urlparse获取url后面的参数
查看>>
ElasticSearch 2 (32) - 信息聚合系列之范围限定
查看>>
VS2010远程调试C#程序
查看>>
notepad++正则表达式例子
查看>>
[MicroPython]TurniBit开发板DIY自动窗帘模拟系统
查看>>
由String类的Split方法所遇到的两个问题
查看>>
Python3.4 12306 2015年3月验证码识别
查看>>
从Handler.post(Runnable r)再一次梳理Android的消息机制(以及handler的内存泄露)
查看>>
自制操作系统Antz day11——实现shell(下)命令响应
查看>>
windows查看端口占用
查看>>
js,php获取中文长度,比较简洁的方法汇总
查看>>
Windows内核新手上路1——挂钩SSDT
查看>>
Factory Method Pattern(工厂方法模式)——莫勇鹏老师
查看>>