搜索
首页专题Accessaccess数据库分页方法介绍

access数据库分页方法介绍

Jan 22, 2021 am 10:50 AM
access数据库

access数据库分页方法介绍

由于数据库记录比较多,所以需要对查询结果进行分页显示。下面是access数据库的两种分页方法。

(学习视频分享:编程入门

一、Access查询结果分页方法一

1、方法

设每页记录数为CntPerPage,要获得第Page页的查询结果,用以下SQL语句。

SELECT * FROM (
SELECT TOP CntPerPage * FROM(
SELECT TOP Page*CntPerPage * FROM TableName WHERE Query_Conditionm ORDER BY OrderField
) ORDER BY OrderField DESC
) ORDER BY OrderField

其中TableName为表名,Query_Condition为查询条件,OrderField为用来排序的字段名

2、原理

嵌套使用三步查询:
第一步查询:将当前页及之前所有页的记录查询出来,并按排序字段降序排列

SELECT TOP Page*CntPerPage * FROM TableName WHERE Query_Conditionm ORDER BY OrderField

第二步查询:将刚才查询出来的记录(已降序排列)的前CntPerPage个记录查询出来(保持降序排列),这些就是第Page页的所有记录

SELECT TOP CntPerPage * FROM( 第一步查询结果 ) ORDER BY OrderField DESC

第三步查询:上一步查询实际已经把第Page页的记录全部查询出来了,只不过是降序排列的,这第三步只是把刚获得的这些数据变成正序排列。如果对顺序不要求,或者程序中有其它的数据排序处理,那么这一步就可以省略了。

SELECT * FROM ( 第二步查询结果 ) ORDER BY OrderField

3、举例

一个Student表,要查询年龄age小于20岁的所有记录,按姓名name排序,每页记录数为100,要获得第5页的查询结果,则用以下SQL语句。

SELECT * FROM (SELECT TOP 100 * FROM( SELECT TOP 500 * FROM Student  WHERE age<20 ORDER BY name ) ORDER BY name DESC) ORDER BY name

二、网上常用的NOT IN方法

在网上搜索分页方法时,这是最常见到的一种方法。
方法:

SELECT TOP CntPerPage * FROM TableName WHERE Query_Conditionm AND id NOT IN (
SELECT TOP (Page-1)*CntPerPage id FROM TableName WHERE Query_Conditionm ORDER BY id
) ORDER BY id

原理:
两步查询:
第一步:把本页之前的所有符合条件的记录id选择出来

SELECT TOP (Page-1)*CntPerPage id FROM TableName WHERE Query_Conditionm ORDER BY id

第二步:加入查询条件“id不在刚才选择出来的那些id查询结果里”,取前CntPerPage个记录,这样,查询结果就恰好过滤了前Page-1页的所有数据,之后就选择了第Page页的所有记录。

SELECT TOP CntPerPage * FROM TableName WHERE Query_Conditionm AND id NOT IN (第一步查询结果) ORDER BY id

三、分页查询效率

实际测试两种方法的效率差不多,但个人认为第二种方法里的NOT IN这类判断的效率应该不会太高,所以觉得如果记录量比较庞大时应该第一种方法更高效些。

相关推荐:access数据库教程

以上是access数据库分页方法介绍的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:csdn。如有侵权,请联系admin@php.cn删除

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器