分页的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)
上一篇 2022年8月30日 下午12:46
下一篇 2022年8月30日 下午12:46


相关推荐

  • Chrome查看图片base64

    Chrome查看图片base64Chrome 查看图片 base64 在 chrome 浏览器下新建一个窗口 然后把要转化的图片直接拖入浏览器 打开控制台 点 Source 右侧就会显示该图片的 base64 编码这个没有 data 开头 用的时候要加上 data image jpg base64 刚才的数据 2 中组合的结果可以直接在浏览器中访问

    2026年3月18日
    0
  • Java VisualVM远程监控JVM

    Java VisualVM远程监控JVM

    2022年3月12日
    45
  • 阿里千问开源语音识别系列模型Qwen3-ASR

    阿里千问开源语音识别系列模型Qwen3-ASR

    2026年3月12日
    2
  • 机器学习之KNN最邻近分类算法[通俗易懂]

    机器学习之KNN最邻近分类算法[通俗易懂]KNN算法简介KNN(K-NearestNeighbor)最邻近分类算法是数据挖掘分类(classification)技术中最简单的算法之一,其指导思想是”近朱者赤,近墨者黑“,即由你的邻居来推断出你的类别。KNN最邻近分类算法的实现原理:为了判断未知样本的类别,以所有已知类别的样本作为参照,计算未知样本与所有已知样本的距离,从中选取与未知样本距离最近的K个已知样本,根据少数服从多数…

    2022年4月27日
    52
  • Python之分布式爬虫的实现步骤

    Python之分布式爬虫的实现步骤什么是分布式爬虫 默认情况下 scrapy 爬虫是单机爬虫 只能在一台电脑上运行 因为爬虫调度器当中的队列 queue 去重和 set 集合都是在本机上创建的 其他电脑无法访问另一台电脑上的内存中的内容 分布式爬虫是一个用共同的爬虫程序 同时部署到多台电脑上运行 这样可以提高爬虫速度 实现分布式爬虫 今天我就来给大家讲一下使用 scrapy redis 实现分布式爬虫第一步 创建一个 scrapy

    2025年11月14日
    6
  • eclipse怎么导入java文件_Eclipse如何导入JAVA工程?如何将项目导入Eclipse中?

    eclipse怎么导入java文件_Eclipse如何导入JAVA工程?如何将项目导入Eclipse中?Eclipse如何导入JAVA工程?很多用户在学习Eclipse的过程中都会不小心把项目给删除了,到这里,笔者要先说一下“没关系,先不要慌张”,如果你把项目删除了,是可以通过导入的方法找回来的。具体方法见下文。Eclipse如何导入JAVA工程?1、在电脑桌面找到Eclipse快捷方式。2、双击打开Eclipse,在弹出的“WorkspsceLauncher”对话框中,点击后面的“Browse”…

    2022年7月8日
    23

发表回复

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

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