数据库中几种常见的分页操作

对数据进行分页处理是常常会用到的,在这里不阐述它们各个方法的效率性,此处记录方法

1.已知数据条数和每页条数

每页:10条

总数据:100条

需分页10页

select  top 10 * from  表名  where id not in (select top 100 id from 表名 order by id)

2.不知道数据总数

limit用法:

limit 100   返回100条数据(返回100条数据,限制数据的数量) limit n 相当于 limit (0,n)

select * from 表 order by id  limit 10 offset 0 (返回10条数据,从第1行开始,索引0)

select * from 表 order by id limit 3,6  (从4开始取,取6行,即4,5,6,7,8,9)

select * from 表 order by id limit 2,-1 (从第三行取数据,一直到最后last)

分页:select * from table order by id where id>每一页最后一行数据的id  limit 100         (取数据的同时分页,循环查询,limit限制一页100,where 条件id>每一页最后一行的id)     适用于pgsql或mysql

temp=conn.execute(sql)

shuju=temp.fetchall()

if len(shuju)==0

  break

num=len(shuju)-1

if(shuju!=none)

  endID=shuju[num][0]     (最后一行数据id的取值和存储)

else

  break

原文地址:https://www.cnblogs.com/xingxingzhou/p/9068628.html

时间: 2024-10-27 21:29:38

数据库中几种常见的分页操作的相关文章

Oracle数据库中几种常见的SCN

控制文件中的SCN 数据文件头的SCN 数据块中的SCN 日志文件头中的SCN 事务SCN 内存中的SCN 一 控制文件中的SCN 1.1 数据库SCN 数据库SCN表示最近一次全量checkpoint操作时的SCN SQL> select checkpoint_change# from v$database; CHECKPOINT_CHANGE# ------------------        1744125 dump控制文件语法 alter session set events 'imm

php中五种常见的设计模式

设计模式 一书将设计模式引入软件社区,该书的作者是 Erich Gamma.Richard Helm.Ralph Johnson 和 John Vlissides Design(俗称 “四人帮”).所介绍的设计模式背后的核心概念非常简单.经过多年的软件开发实践,Gamma 等人发现了某些具有固定设计的模式,就像建筑师设计房子和建筑物一样,可以为浴室的位置或厨房的构造方式开发模板.使用这些模板或者说设计模式 意味着可以更快地设计更好的建筑物.同样的概念也适用于软件. 设计模式不仅代表着更快开发健壮

几种常见SQL分页方式效率比较-转

原文地址:几种常见SQL分页方式效率比较 分页很重要,面试会遇到.不妨再回顾总结一下. 1.创建测试环境,(插入100万条数据大概耗时5分钟). create database DBTestuse DBTest --创建测试表create table pagetest(id int identity(1,1) not null,col01 int null,col02 nvarchar(50) null,col03 datetime null) --1万记录集declare @i intset

[整理]android中几种常见的尺寸

获取屏幕宽高尺寸的三种代码形式 在Android上,目前我知道的获取屏幕尺寸的方法有三种不同的代码形式 方法1.在Activity中最常见的调用方式 WindowManager windowManager = getWindowManager(); Display display = windowManager.getDefaultDisplay(); int screenWidth = display.getWidth(); int screenHeight = display.getHeig

比较C#中几种常见的复制字节数组方法的效率[转]

[原文链接] 在日常编程过程中,我们可能经常需要Copy各种数组,一般来说有以下几种常见的方法:Array.Copy,IList<T>.Copy,BinaryReader.ReadBytes,Buffer.BlockCopy,以及System.Buffer.memcpyimpl,由于最后一种需要使用指针,所以本文不引入该方法. 本次测试,使用以上前4种方法,各运行1000万次,观察结果. using System; using System.Collections.Generic; using

MySQL数据库中SQL对日期查询相关操作

有时我们面要统计一下数据库中指定日期的数据,如常用的,今天,昨天,明天,本周.上周.本月.上个月份的数据,还有对日期的加减, 除了我们可以使用strtotime来算还可以参考下面方法. SQL减去指定天数 SELECT * from 表名 where DATE_FORMAT(时间字段,"%Y-%m-%d") = DATE_ADD(输入时间,INTERVAL -1 DAY); /** 如果需要加指定天数把-1改为指定天数即可 */ 今天  select * from 表名 where t

JS中4种常见的内存泄漏

一.什么是内存泄漏 本质上讲,内存泄漏是当一块内存不再被应用程序使用的时候,由于某种原因,这块内存没有返还给操作系统或空闲内存池的现象. 二.几种常见的内存泄漏 1.意外的全局变量 一个未声明变量的引用会在全局对象中创建一个新的变量.在浏览器的环境下,全局对象就是window,也就是说: function foo(arg) { bar = "this is a hidden global variable"; } 实际上是: function foo(arg) { window.bar

几种常见SQL分页方式效率比较

1.创建测试环境,(插入100万条数据大概耗时5分钟). create database DBTestuse DBTest --创建测试表create table pagetest(id int identity(1,1) not null,col01 int null,col02 nvarchar(50) null,col03 datetime null) --1万记录集declare @i intset @i=0while(@i<10000)begin insert into pagetes

论MySQL数据库中两种数据引擎的差别

InnoDB和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定. 基本的差别为: MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持. MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能. MyIASM是IASM表的新版本,有如下扩展: 二进制层次的可移植性. NULL列索引. 对变长行比ISAM表有更少的碎片. 支持大文件. 更好的索引压缩. 更好的键吗统计分布.