1.
   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相关推荐

  1. Oracle、DB2、SQLSERVER、Mysql、Access分页SQL语句梳理

    最近把平时在项目中常用到的数据库分页sql总结了下.大家可以贴出分页更高效的sql语句. sqlserver分页 第一种分页方法 需用到的参数: pageSize 每页显示多少条数据 pageNumb ...

  2. 看看Entity Framework 4生成的复杂的分页SQL语句

    之前发现Entity Framework 4生成的COUNT查询语句问题,今天又发现它生成的分页SQL语句问题,而LINQ to SQL却不存在这个问题. >>> 来看一看,瞧一瞧! ...

  3. ORACLE分页SQL

    ORACLE分页SQL 1,使用rownum SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE ...

  4. ORACLE常用性能监控SQL【一】

    目录(?)[+] 系列 ORACLE常用性能监控SQL[一] ORACLE常用性能监控SQL[二] Oracle-动态性能视图解读 系列 死锁后的解决办法 生成Kill Session语句 查看导致死 ...

  5. 常用的PL/SQL开发原则 by dbsanke

    在微博上看到dbsnake 有一个培训,因为是在北京举办的,过去不.所以问dbsnake 能否把相关的文档传我一份. dbsnake 邮件给我时说有些东西没有写到文档里. 这个文档也是dbsnake ...

  6. 优化的ms sql server分页sql语句

    优化的ms sql server分页sql语句 发布时间: 2009-8-15 00:00 |  发布作者: hjh |   |  查看: 3次 特点:一次查询,数据库Databnse只返回一页的数据 ...

  7. (转)几种常用存储过程分页方法

    我们先给出几种主要的分页方法和核心语句,然后直接给出结论,有兴趣的读者可以看看后面的数据 几种常用存储过程分页方法 TopN方法 select Top(@PageSize) from TableNam ...

  8. 盘点几种数据库的分页SQL的写法(转)

    Data序列--盘点几种数据库的分页SQL的写法 http://www.cnblogs.com/fireasy/archive/2013/04/10/3013088.html 转载于:https:// ...

  9. 微软企业库mysql分页存储_使用微软企业库,非分页sql语句得到分页数据方法

    最近使用微软企业库,在做分页绑定的时候发现好象还没有多少通用的方法.为了灵活和换数据库,我不能使用存储过程.为了开发速度最快.我就是用datagrid绑定了. 以前长用的 DataAdapter.Fi ...

  10. java的mysql语句规范_常用的标准SQL 语句

    1.创建数据库的语句如下: Create database databaseName 上述语句创建一个名字叫 databaseName 的数据库 2.删除数据库的语句如下. Drop database ...

最新文章

  1. Struts2 原理
  2. 基于SSH实现健康管理系统
  3. 反对网抄,没有规则可以创建目标install 靠谱解答
  4. python opencv图片旋转180度_Python opencv图像镜像翻转
  5. WPF 自定义 MessageBox (相对完善版 v1.0.0.6)
  6. 百度十亿级流量的搜索前端,是怎么做架构升级的?
  7. 佳能打印机ip90 64位系统的驱动_佳能打印机如何安装 佳能打印机漏墨如何解决【详解】...
  8. 95-230-024-源码-WordCount走读-RecordWriterOutput 和 RecordWriter
  9. listview复用机制研究
  10. centos php solr 安装,centos下安装配置solr全纪录
  11. python 请在微信客户端打开链接-怎么转发微信聊天记录-我用 Python 破解了微信聊天记录,自动同步微信文章...
  12. C#打开外部的exe程序并隐藏窗口、注册退出事件、传递参数
  13. 解决webview无法调用支付宝
  14. 联想SR590服务器管理界面配置
  15. 【飞凌和你测评】再次进阶,更高性价比-飞凌iMX6ULL开发板
  16. 西南大学计算机辅助设计试题,西南大学 1906 课程名称:(9123)《计算机辅助设计》机考 答案-奥...
  17. html设计带图形的边框,css怎么设置图片的边框?
  18. sql中on和where的区别在哪
  19. CSDN怎么获得c币和下载积
  20. 民兴商学院课程内容大全

热门文章

  1. python 今日头条 控制手机_你知道Python脚本控制安卓手机可以用来做什么吗?
  2. 阶段3 1.Mybatis_06.使用Mybatis完成DAO层的开发_6 Mybatis中使用Dao实现类的执行过程分析-增删改方法...
  3. 编程之美 1.4买书问题常数时间空间解法
  4. Maven依赖下载速度慢,不用怕,这么搞快了飞起
  5. Subarray Sum K
  6. Codeforces1037G A Game on Strings 【SG函数】【区间DP】
  7. tomcat 7下spring 4.x mvc集成websocket以及sockjs完全参考指南(含nginx/https支持)
  8. 01-编写CMS注意事项
  9. WordPress W3 Super Cache插件远程PHP代码执行漏洞
  10. 前端MVC学习笔记第二课