分页的sql语句_自动分页

分页的sql语句_自动分页下文将为您介绍三种SQL分页语句写法,如果您也遇到过类似的问题,不妨一看,相信对您会有所启迪。SQL分页操作是经常会遇到的,下面就将为您介绍三种SQL分页语句,供您参考,希望对您学习SQL分页能够有所帮助。方法一(适用于SQLServer2000/2005)SELECTTOP页大小* FROMtable1 WHEREidNOTIN

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

下文将为您介绍三种SQL分页语句写法,如果您也遇到过类似的问题,不妨一看,相信对您会有所启迪。

SQL分页操作是经常会遇到的,下面就将为您介绍三种SQL分页语句,供您参考,希望对您学习SQL分页能够有所帮助。

方法一(适用于 SQL Server 2000/2005)

SELECT TOP 页大小 *  
FROM table1  
WHERE id NOT IN  
          (  
          SELECT TOP 页大小*(页数-1) id FROM table1 ORDER BY id  
          )  
 
ORDER BY id  
方法二(适用于 SQL Server 2000/2005)

SELECT TOP 页大小 *  
FROM table1  
WHERE id > 
          (  
          SELECT ISNULL(MAX(id),0)   
          FROM   
                (  
                SELECT TOP 页大小*(页数-1) id FROM table1 ORDER BY id  
                ) A  
          )  
 
ORDER BY id  
方法三(适用于 SQL Server 2005)

SELECT TOP 页大小 *   
FROM   
        (  
        SELECT ROW_NUMBER() OVER (ORDER BY id) AS RowNumber,* FROM table1  
        ) A  
 

WHERE RowNumber > 页大小*(页数-1)   


———————————————————-

 /// <summary>
        /// 将原始SQL语句改造成支持分页的SQL语句
        /// </summary>
        /// <param name=”sql”>原始sql语句</param>
        /// <param name=”page”>第几页</param>
        /// <param name=”pageSize”>每页多少记录</param>
        /// <param name=”primaryField”>原始sql语句主键字段</param>
        /// <returns></returns>
        string GetPageSql(string sql, int page, int pageSize,string primaryField)
        {

            StringBuilder pageSQL = new StringBuilder();
            pageSQL.Append(string.Format (“SELECT TOP {0} *  From “,pageSize ));
            pageSQL.Append(” ( “);
            pageSQL.Append(string.Format (”  SELECT ROW_NUMBER() OVER (ORDER BY {0}) AS RowNumber,* FROM “,primaryField ));
            pageSQL.Append(string.Format(“({0}) tempTable1”, sql));
            pageSQL.Append(” ) tempTable2 “);
            pageSQL.Append(string.Format(” WHERE RowNumber > {0}*({1}-1)  “,pageSize , page));
            return pageSQL.ToString(); 
           
        }


 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/179166.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 初探js逆向「建议收藏」

    初探js逆向「建议收藏」转载自三尾先生博客初探js逆向在开始之前想先说下阅读完三尾先生这篇文章的一点个人理解,文章写得挺好的,很值得新手学习了解,首先谈下逆向激活成功教程思路1.需要逆向的时候一般是遇到了加密问题,加密情况有参数加密,有结果加密。但不管怎样的加密只要页面能正常显示,那就有解密过程!2.先找到加密的字段名,通过字段名在sources全局搜索3.在含有这些字段的位置打断点,一般sources里看到的会是一行的压缩代码,我们可以通过点击左下角的双大括号格式化js代码然后通过断点一步步查看参数在哪一步骤发生了变

    2022年6月22日
    44
  • mac使用tree命令

    mac使用tree命令brewinstalltreetreetree-L1#深度1treeufo  #展示子目录find.|xargsgrep-ri""  #-r递归-i忽略大小写tree-N  #解决汉语乱码 命令行的双击tab太好用现在想要进入一个比较深的目录每进入一层就ls一下太慢了cd到一个目录下之后就双击tab…

    2022年7月24日
    8
  • SQL Server 中关于EXCEPT和INTERSECT的使用方法

    SQL Server 中关于EXCEPT和INTERSECT的使用方法

    2021年11月30日
    41
  • C++教程(最全)「建议收藏」

    C++教程(最全)「建议收藏」C++简介

    2022年4月26日
    50
  • c语言list嵌套遍历「建议收藏」

    c语言list嵌套遍历「建议收藏」list::iteratoritor; //定义迭代器 listmyList1; listmyList2;list>bigList;myList1.push_back(“88”);myList1.push_back(“99”);myList2.push_back(“22”);myList2.push_back(“33”);bigLi

    2022年7月12日
    35
  • MySQL中DML语句和事务的概念「建议收藏」

    MySQL中DML语句和事务的概念「建议收藏」ML语句知识要点DML语句插入行到表中删除表中的行更新表中的行控制事务DML语句DML:DATAMANIPULATIONLANGUAGE(数据操纵语言),由INSERT、UPDATE、DELETE等语句构成,用来修改表中的数据INSERT语句1.带VALUES子句的INSERT语句INSERT[INTO]tbl_name[(col_name,…)]{VA…

    2022年8月30日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号