分页的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/191030.html原文链接:https://javaforall.net

(0)
上一篇 2026年2月9日 上午10:22
下一篇 2026年2月9日 上午11:01


相关推荐

  • 揭秘Echarts:轻松实现数据模糊查询,解锁数据分析新技能

    揭秘Echarts:轻松实现数据模糊查询,解锁数据分析新技能

    2026年3月12日
    2
  • 原码补码相互转换[通俗易懂]

    原码补码相互转换[通俗易懂]1.基础概念原码:为十进制数的二进制表示,正数符号位为0,负数符号位为1例如:10的二进制为00001010,-10的二进制为10001010补码:为原码的计算码,通俗的讲,计算的时候用补码,看大小的时候用原码2.原码转换成补码正数原码转补码:正数的补码,与原码相同例如,10的原码为00001010,补码也是00001010负数原码转补码:负数的补码:符号位不变,其余各位按位取反,取反后整体加1例如:-10的原码为10001010…

    2025年7月4日
    5
  • mfc调用cmd执行完保留黑框

    mfc调用cmd执行完保留黑框

    2021年11月20日
    53
  • Android游戏引擎选择[通俗易懂]

    Android游戏引擎选择[通俗易懂]Android游戏引擎选择今天在博客园看到一篇关于android游戏引擎的选择文章,特转载以便日后了解1.Ronkon(网站地址:http://www.ronkonandroid.com)如果不是想帮助作者解决一大堆兼容性问题的话还是不要使用这个引擎,我在上面浪费了1天半,就只是为了把实例程序跑起来。开始还以为是我水平菜,结果一堆人没跑起来,和我一样都是黑屏。虽然它文档做得好但我还是放弃了,本来Android平台兼容性就是老大难,在来个半吊子的引擎我可没本事搞定。2.AndEngine(网站地址:ht

    2026年1月21日
    7
  • linux下安装tomcat的默认目录[通俗易懂]

    linux下安装tomcat的默认目录[通俗易懂]以Linux分支UbuntuServer为例。一、相关目录及作用说明  /etc/tomcat6-全局配置  /usr/share/tomcat6/-程序主目录  /usr/share/tomcat6/conf/Catalina/localhost/-本机部署的Catalina配置  /var/lib/tomcat6/-工作主目录  /var/l

    2022年5月5日
    214
  • SpringBoot+MyBatis整合中的坑以及Property ‘sqlSessionFactory’ or ‘sqlSessionTemplate’ are required错误详解

    SpringBoot+MyBatis整合中的坑以及Property ‘sqlSessionFactory’ or ‘sqlSessionTemplate’ are required错误详解今天想重新学习一下之前大学学过的Springboot框架。然后参考此篇文章进行学习,https://blog.csdn.net/saytime/article/details/74783296使用SpringToolSuit的开发工具。整个项目架构如下图所示。然后开始遇到各种坑,特此记下来,以免以后犯同样的错误。坑一:在Mapper层,它是需要加@Mapper注解的,但是网上又有人加@…

    2022年4月29日
    85

发表回复

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

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