phpmssql数据库分页SQL语句
2023-06-13 09:14:07 时间
我们在编写MIS系统和Web应用程序等系统时,都涉及到与数据库的交互,如果数据库中数据量很大的话,一次检索所有的记录,会占用系统很大的资源,因此我们常常采用,需要多少数据就只从数据库中取多少条记录,即采用分页语句。根据自己使用过的内容,把常见数据库SqlServer,Oracle和MySQL的分页语句,从数据库表中的第M条数据开始取N条记录的语句总结如下:
SQLServer
从数据库表中的第M条记录开始取N条记录,利用Top关键字:注意如果Select语句中既有top,又有orderby,则是从排序好的结果集中选择:
SELECT*
FROM(SELECTTopN*
FROM(SELECTTop(M+N-1)*FROM表名称Orderby主键desc)t1)t2
Orderby主键asc
实例:
select*from(selectTOPpagesize*FROM(SELECTTOPpagesize*cureentpage*fromuser_tableORDERBYidASC)asaSysTableORDERBYidDESC)asbSysTableORDERBYidASC
例如从表Sys_option(主键为sys_id)中从10条记录还是检索20条记录,语句如下:
SELECT*
FROM(SELECTTOP20*
FROM(SELECTTOP29*FROMSys_optionorderbysys_iddesc)t1)t2
Orderbysys_idasc
Oralce数据库
从数据库表中第M条记录开始检索N条记录
SELECT*
FROM(SELECTROWNUMr,t1.*From表名称t1whererownum<M+N)t2
wheret2.r>=M
例如从表Sys_option(主键为sys_id)中从10条记录还是检索20条记录,语句如下:
SELECT*
FROM(SELECTROWNUMR,t1.*FromSys_optionwhererownum<30)t2
Wheret2.R>=10
MySQL数据库
Mysql数据库最简单,是利用mysql的LIMIT函数,LIMIT[offset,]rows从数据库表中M条记录开始检索N条记录的语句为:
SELECT*FROM表名称LIMITM,N
例如从表Sys_option(主键为sys_id)中从10条记录还是检索20条记录,语句如下:
select*fromsys_optionlimit10,20
SQLServer
从数据库表中的第M条记录开始取N条记录,利用Top关键字:注意如果Select语句中既有top,又有orderby,则是从排序好的结果集中选择:
SELECT*
FROM(SELECTTopN*
FROM(SELECTTop(M+N-1)*FROM表名称Orderby主键desc)t1)t2
Orderby主键asc
实例:
select*from(selectTOPpagesize*FROM(SELECTTOPpagesize*cureentpage*fromuser_tableORDERBYidASC)asaSysTableORDERBYidDESC)asbSysTableORDERBYidASC
例如从表Sys_option(主键为sys_id)中从10条记录还是检索20条记录,语句如下:
SELECT*
FROM(SELECTTOP20*
FROM(SELECTTOP29*FROMSys_optionorderbysys_iddesc)t1)t2
Orderbysys_idasc
Oralce数据库
从数据库表中第M条记录开始检索N条记录
SELECT*
FROM(SELECTROWNUMr,t1.*From表名称t1whererownum<M+N)t2
wheret2.r>=M
例如从表Sys_option(主键为sys_id)中从10条记录还是检索20条记录,语句如下:
SELECT*
FROM(SELECTROWNUMR,t1.*FromSys_optionwhererownum<30)t2
Wheret2.R>=10
MySQL数据库
Mysql数据库最简单,是利用mysql的LIMIT函数,LIMIT[offset,]rows从数据库表中M条记录开始检索N条记录的语句为:
SELECT*FROM表名称LIMITM,N
例如从表Sys_option(主键为sys_id)中从10条记录还是检索20条记录,语句如下:
select*fromsys_optionlimit10,20
相关文章
- MySQL(4) 数据库增删改查SQL语句(整理集合大全)
- 如何快速定位当前数据库消耗CPU最高的sql语句
- mysql一个数据库允许存放多少个表详解数据库
- sql语句对表字段进行修改详解数据库
- 运用Oracle构建健壮的SQL(oracle运行sql)
- MySQL查询功能:学会使用SQL语句(mysql查询sql语句)
- Oracle SQL语句入门,轻松掌握数据库基础(oracle语句入门)
- 轻松实现MySQL SQL批量执行方法,快速操作数据库(mysql批量执行sql)
- 「MySQL 教程」学习如何拼接 SQL 语句,让你的操作更灵活高效(mysql拼接sql语句)
- 解决解开Oracle疑难SQL之谜(oracle疑难sql)
- SQL Server架构下的分布式数据库(分布 sqlserver)
- 用SQL Server降低版本,改善数据库性能(sqlserver 降级)
- 的SQL Server让您的数据库设计更简单(sqlserver 精简)
- 用SQL Server和JS实现数据库管理技术(sqlserver.js)
- 如何利用Oracle掌握SQL写作技巧(oracle写sql格式)
- 警惕MySQL中SQL语句的陷阱(mysql中sql语句坑)
- MySQL中SQL语句实现求差(mysql中sql求差)
- MySQL 中 SQL 比较详解常用语句及其实现方法(mysql中sql比较)
- MySQL中如何筛选不为空的SQL语句(mysql中sql不为空)
- Oracle中SQL语句的运用方法(oracle中sql用法)
- sql数据库不能直接用instr函数
- 修复断电等损坏的SQL数据库
- 数据库SqlParameter的插入操作,防止sql注入的实现代码