自己常用的分页SQL
Select Top PageSize * From Table where biaoshi not in (Select Top (PageIndex-1)*PageSize biaoshi From Table )
2.
CREATE PROCEDURE [dbo].[UP_Common_Pager](
@tblName nvarchar(255), -- 表名
@Fields nvarchar(1000) = '*', -- 需要返回的列
@OrderField nvarchar(255)='', -- 排序的字段名
@PageSize int = 10, -- 页尺寸
@PageIndex int = 1, -- 页码
@doCount bit = 0, -- 返回记录总数, 非 0 值则返回
@OrderType bit = 1, -- 设置排序类型, 非 0 值则降序
@strWhere nvarchar(1500) = '', -- 查询条件 (注意: 不要加 where)
@sql nvarchar(4000)='' out
)AS
begin
if @pageIndex=0
set @pageIndex=1
declare @strSQL nvarchar(4000) -- 主语句
declare @strTmp nvarchar(110) -- 临时变量
declare @strOrder nvarchar(400) -- 排序类型
if @doCount != 0
begin
if @strWhere !=''
set @strSQL = 'select count(*) as Total from ' + @tblName + ' where ' + @strWhere
else
set @strSQL = 'select count(*) as Total from ' + @tblName + ''
end
--以上代码的意思是如果@doCount传递过来的不是0,就执行总数统计。以下的所有代码都是@doCount为0的情况
else
begin
if @OrderType != 0
begin
set @strTmp = '<(select min'
set @strOrder = ' order by ' + @OrderField +' desc'
--如果@OrderType不是0,就执行降序,这句很重要!
end
else
begin
set @strTmp = '>(select max'
set @strOrder = ' order by ' + @OrderField +' asc'
end
if @PageIndex = 1
begin
if @strWhere != ''
set @strSQL = 'select top ' + str(@PageSize) +' '+@Fields+ ' from ' + @tblName + ' where ' + @strWhere + ' ' + @strOrder
else
set @strSQL = 'select top ' + str(@PageSize) +' '+@Fields+ ' from '+ @tblName + ' '+ @strOrder
end
else
begin
set @strSQL = 'select top ' + str(@PageSize) +' '+@Fields+ ' from '+ @tblName + ' where [' + @OrderField + ']' + @strTmp + '(['+ @OrderField + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' ['+ @OrderField + '] from ' + @tblName + '' + @strOrder + ') as tblTmp)'+ @strOrder
if @strWhere != ''
set @strSQL = 'select top ' + str(@PageSize) +' '+@Fields+ ' from '+ @tblName + ' where [' + @OrderField + ']' + @strTmp + '(['+ @OrderField + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' ['+ @OrderField + '] from ' + @tblName + ' where ' + @strWhere + ' '+ @strOrder + ') as tblTmp) and ' + @strWhere + ' ' + @strOrder
end
end
set @sql=@strSql
exec (@strSQL)
end
转载于:https://www.cnblogs.com/snlfq2000/archive/2009/02/06/1385096.html
自己常用的分页SQL相关推荐
- Oracle、DB2、SQLSERVER、Mysql、Access分页SQL语句梳理
最近把平时在项目中常用到的数据库分页sql总结了下.大家可以贴出分页更高效的sql语句. sqlserver分页 第一种分页方法 需用到的参数: pageSize 每页显示多少条数据 pageNumb ...
- 看看Entity Framework 4生成的复杂的分页SQL语句
之前发现Entity Framework 4生成的COUNT查询语句问题,今天又发现它生成的分页SQL语句问题,而LINQ to SQL却不存在这个问题. >>> 来看一看,瞧一瞧! ...
- ORACLE分页SQL
ORACLE分页SQL 1,使用rownum SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE ...
- ORACLE常用性能监控SQL【一】
目录(?)[+] 系列 ORACLE常用性能监控SQL[一] ORACLE常用性能监控SQL[二] Oracle-动态性能视图解读 系列 死锁后的解决办法 生成Kill Session语句 查看导致死 ...
- 常用的PL/SQL开发原则 by dbsanke
在微博上看到dbsnake 有一个培训,因为是在北京举办的,过去不.所以问dbsnake 能否把相关的文档传我一份. dbsnake 邮件给我时说有些东西没有写到文档里. 这个文档也是dbsnake ...
- 优化的ms sql server分页sql语句
优化的ms sql server分页sql语句 发布时间: 2009-8-15 00:00 | 发布作者: hjh | | 查看: 3次 特点:一次查询,数据库Databnse只返回一页的数据 ...
- (转)几种常用存储过程分页方法
我们先给出几种主要的分页方法和核心语句,然后直接给出结论,有兴趣的读者可以看看后面的数据 几种常用存储过程分页方法 TopN方法 select Top(@PageSize) from TableNam ...
- 盘点几种数据库的分页SQL的写法(转)
Data序列--盘点几种数据库的分页SQL的写法 http://www.cnblogs.com/fireasy/archive/2013/04/10/3013088.html 转载于:https:// ...
- 微软企业库mysql分页存储_使用微软企业库,非分页sql语句得到分页数据方法
最近使用微软企业库,在做分页绑定的时候发现好象还没有多少通用的方法.为了灵活和换数据库,我不能使用存储过程.为了开发速度最快.我就是用datagrid绑定了. 以前长用的 DataAdapter.Fi ...
- java的mysql语句规范_常用的标准SQL 语句
1.创建数据库的语句如下: Create database databaseName 上述语句创建一个名字叫 databaseName 的数据库 2.删除数据库的语句如下. Drop database ...
最新文章
- Struts2 原理
- 基于SSH实现健康管理系统
- 反对网抄,没有规则可以创建目标install 靠谱解答
- python opencv图片旋转180度_Python opencv图像镜像翻转
- WPF 自定义 MessageBox (相对完善版 v1.0.0.6)
- 百度十亿级流量的搜索前端,是怎么做架构升级的?
- 佳能打印机ip90 64位系统的驱动_佳能打印机如何安装 佳能打印机漏墨如何解决【详解】...
- 95-230-024-源码-WordCount走读-RecordWriterOutput 和 RecordWriter
- listview复用机制研究
- centos php solr 安装,centos下安装配置solr全纪录
- python 请在微信客户端打开链接-怎么转发微信聊天记录-我用 Python 破解了微信聊天记录,自动同步微信文章...
- C#打开外部的exe程序并隐藏窗口、注册退出事件、传递参数
- 解决webview无法调用支付宝
- 联想SR590服务器管理界面配置
- 【飞凌和你测评】再次进阶,更高性价比-飞凌iMX6ULL开发板
- 西南大学计算机辅助设计试题,西南大学 1906 课程名称:(9123)《计算机辅助设计》机考 答案-奥...
- html设计带图形的边框,css怎么设置图片的边框?
- sql中on和where的区别在哪
- CSDN怎么获得c币和下载积
- 民兴商学院课程内容大全
热门文章
- python 今日头条 控制手机_你知道Python脚本控制安卓手机可以用来做什么吗?
- 阶段3 1.Mybatis_06.使用Mybatis完成DAO层的开发_6 Mybatis中使用Dao实现类的执行过程分析-增删改方法...
- 编程之美 1.4买书问题常数时间空间解法
- Maven依赖下载速度慢,不用怕,这么搞快了飞起
- Subarray Sum K
- Codeforces1037G A Game on Strings 【SG函数】【区间DP】
- tomcat 7下spring 4.x mvc集成websocket以及sockjs完全参考指南(含nginx/https支持)
- 01-编写CMS注意事项
- WordPress W3 Super Cache插件远程PHP代码执行漏洞
- 前端MVC学习笔记第二课