三种数据库的分页语句

mysql数据库实现数据分页详解 在MySQL数据库中,实现数据分页通常使用LIMIT和OFFSET子句。这些子句使得查询结果可以分批返回,从而实现分页功能。在MySQL中实现分页有多种方法,每种方法都有其适用的场景和优缺点。选择哪种方法取决于具体的应用场景、数据量以及性能要求。在实际应用中,通常会根据需求选择最适合的分页方式,并在应用程序中集成分页逻辑,通过传递页码和每页记录数参数来动态生成SQL查询语句。 阅读详情

取出sql表中第31到40的记录(以自动增长ID为主键)

sql server方案1:

    select top 10 * from twhere id not in (select top 30 id from t order by id ) orde by id

sql server方案2:

    select top 10 * from twhere id in (select top 40 id from t order by id) order by id desc

 

mysql方案:select * from t order by id limit 30,10

 

cp 是页数

ls  是每页的条数

 

 this.pstmt.setInt(2, (cp-1) * ls) ;
  this.pstmt.setInt(3, ls) ;

 

oracle方案:select * from (select rownum r,* from t where r<=40) wherer>30

 

 

String sql = " SELECT * FROM ( "

                + " SELECT mid,name,birthday,age,content,ROWNUM rn "

                + " FROM member WHERE name LIKE ? AND  ROWNUM<=? ) temp "

                + " WHERE temp.rn>? ";

 

pstmt.setInt(2, cp* ls);
  pstmt.setInt(3, (cp- 1) * ls);

 

--------------------待整理进去的内容-------------------------------------

pageSize=20;

pageNo = 5;

 

1.分页技术1(直接利用sql语句进行分页,效率最高和最推荐的)

 

mysql:sql = "select * from articleslimit " + (pageNo-1)*pageSize + "," + pageSize;

oracle: sql = "select * from " +

                                                        "(selectrownum r,* from " +

                                                               "(select* from articles order by postime desc)" +

                                                        "whererownum<= " + pageNo*pageSize +") tmp " +

                                                 "wherer>" + (pageNo-1)*pageSize;

注释:第7行保证rownum的顺序是确定的,因为oracle的索引会造成rownum返回不同的值

简洋提示:没有orderby时,rownum按顺序输出,一旦有了order by,rownum不按顺序输出了,这说明rownum是排序前的编号。如果对order by从句中的字段建立了索引,那么,rownum也是按顺序输出的,因为这时候生成原始的查询结果集时会参照索引表的顺序来构建。

 

sqlserver:sql = "select top 10 * fromid not id(select top " + (pageNo-1)*pageSize + "id fromarticles)"

 

 

 

 

下面是大数据量下的解决方案

 

 

sql server:

       Stringsql =    "selecttop " + pageSize + " * from students where id not in" +

 

 "(select top " + pageSize *(pageNumber-1) + " id from students order by id)" +

 

 "order by id";

 

我在SQL下用的一个分页,成功

 

    public List findAll(int currentPage, int lineSize, String keyWord) throws Exception {
        List all = new ArrayList();
        int aaa = (currentPage - 1) * lineSize;
        String sql = "SELECT TOP " + lineSize + " ID,stuID,stuName,enterTime,stuYear,address,tellphone,stuclass,remark FROM studentinfo WHERE (ID LIKE ? OR stuID LIKE ? OR stuName LIKE ?  OR enterTime LIKE ?  OR stuYear LIKE ?  OR address LIKE ?  OR tellphone LIKE ?  OR stuclass LIKE ?  OR remark LIKE ?) AND ID NOT IN (SELECT TOP " + aaa + " ID FROM studentinfo ORDER BY ID DESC) ORDER BY ID DESC ";

        try {
            this.pstmt = this.conn.prepareStatement(sql);
            this.pstmt.setString(1, "%" + keyWord + "%");
            this.pstmt.setString(2, "%" + keyWord + "%");
            this.pstmt.setString(3, "%" + keyWord + "%");
            this.pstmt.setString(4, "%" + keyWord + "%");
            this.pstmt.setString(5, "%" + keyWord + "%");
            this.pstmt.setString(6, "%" + keyWord + "%");
            this.pstmt.setString(7, "%" + keyWord + "%");
            this.pstmt.setString(8, "%" + keyWord + "%");
            this.pstmt.setString(9, "%" + keyWord + "%");
            ResultSet rs = this.pstmt.executeQuery();
            Student stu = null;
            while (rs.next()) {
                stu = new Student();
                stu.setID(rs.getInt(1));
                stu.setStuID(rs.getString(2));
                stu.setStuName(rs.getString(3));
                stu.setEnterTime(rs.getString(4));
                stu.setStuYear(rs.getString(5));
                stu.setAddress(rs.getString(6));
                stu.setTellphone(rs.getString(7));
                stu.setStuclass(rs.getString(8));
                stu.setRemark(rs.getString(9));
                all.add(stu);
            }
            rs.close();
        } catch (Exception e) {
            throw e;
        } finally {
            try {
                this.pstmt.close();
            } catch (Exception e) {
            }
        }
        return all;
    }

 

 

 

 

 

mysql:

 

       Stringsql =   "select* from students order by id limit " + pageSize*(pageNumber-1) +"," + pageSize;

      

oracle:

 

       Stringsql =    "select * from " + 

        (select *,rownum rid from (select * fromstudents order by postime desc) where rid<=" + pagesize*pagenumber +") as t" +

        "where t>" +pageSize*(pageNumber-1);

 

三大数据库的分页语句 该文档详细描述了三大数据库的分页sql语句。 立即下载

相关推荐

mysql数据库实现分页

对于mysql中的大量数据显示问题,进行了分页,使得数据可以更加清晰的显示

泛型反射数据库通用连接类

package dao;import java.lang.reflect.Field;import java.lang.reflect.ParameterizedType;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.Resul

luzzy的专栏 617

数字后端零基础入门系列 | Innovus零基础LAB学习Day9

数字后端零基础入门系列 | Innovus零基础LAB学习Day9

weixin_37584728的博客 4586

数据库分页显示的几种实现方式

曾经面试有个人问我分页的几种实现方式和框架这些,现在才回,有点晚,这里只用了一种实现方式,利用spring boot的jpa中page对象的实现。还有数据库自带的limit语句,和SSM框架中的mybatis语句中常用,以后遇到了更新这几种实现方式,这种最方便。持续关注哦! 这里将几个实战例子,从数据库到前台一口气实现。 项目文件目录 效果预览  list分页 修改  新增 ...

kk的博客 6497

开源DIY | 打造会“听”会“走”的智能移动垃圾桶

本文详细介绍了如何利用Arduino和超声波传感器打造一款会“听”会“走”的智能移动垃圾桶。通过开源硬件和简单编程,实现声控移动和自动避障功能,适合创客爱好者和家庭DIY。项目成本控制在200元内,涵盖硬件搭建、电路连接和核心功能实现,是入门级机器人制作的理想选择。

weixin_33670713的博客 232

DMA+Timer 生成 PWM 波形错位问题分析与解决

本文深入分析了DMA与Timer协同生成PWM波形时出现的错位问题,揭示了DMA传输启动时机与定时器溢出中断的微妙关系。通过占空比强制清零法和预装载值调校技巧,提供了有效的解决方案,并总结了PWM+DMA配置的最佳实践,帮助开发者避免类似问题。

weixin_29191081的博客 349

数据库分页的几种实现

数据库分页的几种实现 数据库的分页总体上有两种方式: limit/offset 方式 游标方式 滚动方式 SQL -- 通过 LIMIT/OFFSET -- MySQL SELECT * FROM <table_name> LIMIT <offset>,<page_size> ORDER BY <field>; -- PostgreSQL SELECT * FROM <table_name> LIMIT <page_size>,OF

xchenhao 的博客 7206

Lumerical官方案例、FDTD时域有限差分法仿真学习(三)——环形谐振器(Ring resonator)之第二&第三部分

二、使用 MODE 的参数提取和蒙特卡罗 三、最终参数提取

weixin_45719141的博客 1万+

数据库如何实现分页?

当涉及到分页查询时,不同的数据库确实有不同的语法和技巧。你提到的SQL Server、MySQL和Oracle都有各自的方法来实现分页。

NZC2237的博客 357

6、业务影响分析(BIA)的数据收集与关键指标评估

本文全面解析了业务影响分析(BIA)的核心内容,包括数据收集、业务流程分析、信息系统与资产清单、人员与供应商依赖、影响声明、关键指标评估(如MTD、RTO、RPO)、威胁建模与风险分析等。通过详细的介绍和图表展示,帮助组织系统性地制定灾难恢复计划,以应对各种潜在风险,确保关键业务流程在灾难发生后能够快速恢复并持续运营。

moss5的博客 376

OpenClaw实战:拒绝复制粘贴,用 xlsx 技能打通“带公式模板”的月报自动化

本文详解了如何利用 OpenClaw 框架搭载的 xlsx skill,解决 AI 自动化处理“带复杂公式与格式”Excel 月报时极易翻车的业务痛点。针对传统大模型粗暴写入导致模板报废的问题,OpenClaw 创新采用“双核微创”工作流:首先利用 pandas 高效清洗并聚合海量原始明细数据,随后切换至 openpyxl 将计算结果精准注入目标模板,完美保留原有的底色、边框与跨表动态公式。

我有一个梦想 154

Oracle、MySQL和SqlServe三种数据库分页查询语句的区别介绍

先来定义分页语句将要用到的几个参数: int currentPage ; //当前页 int pageRecord ; //每页显示记录数 以之前的ADDRESSBOOK数据表为例(每页显示10条记录): 一、SqlServer下载 分页语句 String sql = "select top "+pageRecord +" * from addressbook where id not in (select top "+(currentPage-)*pageRecord +" id from t_

疯流人物 463

Python 爬虫实战:抓取新闻网站上的新闻标题和内容

随着信息化的进展,新闻网站已经成为人们获取新闻和时事资讯的主要途径。许多新闻网站提供了丰富的内容,涵盖了社会、政治、科技、娱乐等多个领域。通过抓取新闻网站的内容,我们可以分析新闻的趋势,获取某一领域的最新动态,甚至为数据分析和机器学习提供数据支持。本文将详细介绍如何使用 Python 编写爬虫,抓取新闻网站上的新闻标题和内容。requests:发送 HTTP 请求,获取页面内容。:解析 HTML 页面并提取数据。Selenium:抓取动态加载的网页内容。新闻API。

2201_76125261的博客 3409

三种数据库SQL语句高效分页

三种数据库利用SQL语句进行高效果分页在程序的开发过程中,处理分页是大家接触比较频繁的事件,因为现在软件基本上都是与数据库进行挂钓的。但效率又是我们所追求的,如果是像原来那样把所有满足条件的记录全部都选择出来,再去进行分页处理,那么就会多多的浪费掉许多的系统处理时间。为了能够把效率提高,所以现在我们就只选择我们需要的数据,减少数据库的处理时间,以下就是常用SQL分页处理:1、SQL S

小李专栏 2506

SAP RAP 里的 EML 全解:从语言定位到事务语义,再到真实案例的落地方式

摘要:EML(Entity Manipulation Language)是ABAP RAP模型的核心组件,作为ABAP的子集用于操作业务对象(BO)。它通过声明式语法(READ/MODIFY/EXECUTE/COMMIT)统一访问BO的行为与数据,并由RAP运行时自动处理校验、锁定、草稿管理等生命周期。EML将业务语义融入代码,确保与Fiori应用共享同一套校验逻辑,并通过FAILED/REPORTED/MAPPED管道传递错误与消息。其事务控制(IN LOCAL MODE与COMMIT ENTITIES)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 528

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

mysql和sqlserver分页的区别_Oracle、MySQL和SqlServe三种数据库分页查询语句的区别介绍...

先来定义分页语句将要用到的几个参数:int currentPage ; //当前页int pageRecord ; //每页显示记录数以之前的ADDRESSBOOK数据表为例(每页显示10条记录):一、SqlServe下载 分页语句String sql = "select top "+pageRecord +" * from addressbook where id not in (select ...

weixin_39990410的博客 222

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

sql和oracle在分页上的区别,Oracle、MySQL和SqlServe三种数据库分页查询语句的区别介绍...

这篇文章主要介绍了Oracle、MySQL和SqlServe三种数据库分页查询语句的区别介绍 的相关资料,需要的朋友可以参考下先来定义分页语句将要用到的几个参数:int currentPage ; //当前页int pageRecord ; //每页显示记录数以之前的ADDRESSBOOK数据表为例(每页显示10条记录):一、SqlServe下载 分页语句String sql = "select ...

weixin_35876760的博客 247

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

mysql和oracle分页查询区别,Oracle、MySQL和SqlServe三种数据库分页查询语句的区别介绍...

感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧!先来定义分页语句将要用到的几个参数:int currentPage ; //当前页int pageRecord ; //每页显示记录数以之前的ADDRESSBOOK数据表为例(每页显示10条记录):一、SqlServe下载 分页语句代码如下:String sql = "select top "+pageRecord +" * from a...

weixin_35637837的博客 213

oracle和mysql的分页查询怎么写_Oracle、MySQL和SqlServe三种数据库分页查询语句的区别介绍...

先来定义分页语句将要用到的几个参数:int currentPage ; //当前页int pageRecord ; //每页显示记录数以之前的ADDRESSBOOK数据表为例(每页显示10条记录):一、SqlServe下载 分页语句String sql = "select top "+pageRecord +" * from addressbook where id not in (select ...

weixin_39550172的博客 88

sql server和mysql分页查询_Oracle、MySQL和SqlServe三种数据库分页查询语句的区别介绍...

先来定义分页语句将要用到的几个参数:int currentPage ; //当前页int pageRecord ; //每页显示记录数以之前的ADDRESSBOOK数据表为例(每页显示10条记录):一、SqlServe下载 分页语句String sql = "select top "+pageRecord +" * from addressbook where id not in (select ...

weixin_35925956的博客 139

三种mysql分页查询语句_oracle,mysql,SqlServer三种数据库的分页查询的实例

MySql:MySQL数据库实现分页比较简单,提供了 LIMIT函数。一般只需要直接写到sql语句后面就行了。LIMIT子 句可以用来限制由SELECT语句返回过来的数据数量,它有一个或两个参数,如果给出两个参数, 第一个参数指定返回的第一行在所有数据中的位置,从0开始(注意不是1),第二个参数指定最多返回行数。例如:select * from table WHERE … LIMIT 10; #返...

weixin_28760171的博客 225

三种数据库利用SQL语句进行高效果分页

在程序的开发过程中,处理分页 是大家接触比较频繁的事件,因为现在软件基本上都是与数据库进行挂钓的。但效率又是我们所追求的,如果是像原来那样把所有满足条件的记录全部都选择出来, 再去进行分页处理,那么就会多多的浪费掉许多的系统处理时间。为了能够把效率提高,所以现在我们就只选择我们需要的数据,减少数据库的处理时间,以下就是 常用SQL分页处理: 1、SQL Server、Access数据库...

weixin_30593261的博客 61

Oracle sqlserver MySQL三种数据库查询分页语句

MySQL查询分页语句 select * from table where id limit (pagenow-1)*pagesize,pagesize; sqlserver查询分页语句 select top pagenum * from table where id not in(select top (pagesize-1)*pagesize from table

lookw的专栏 873

oracle mysql分页查询语句怎么写,Oracle、MySQL和SqlServe三种数据库分页查询语句的区别介绍...

先来定义分页语句将要用到的几个参数:int currentPage ; //当前页int pageRecord ; //每页显示记录数以之前的ADDRESSBOOK数据表为例(每页显示10条记录):一、SqlServe下载 分页语句String sql = "select top "+pageRecord +" * from addressbook where id not in (select ...

weixin_32463071的博客 211
上一篇: 判断输入框输入的是否是数字,不是则阻止提交
下一篇: 谈谈你对流行框架的理解
emjava
博客等级 码龄15年 4粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值