常用数据库的分页语句(mySlq、oracle、PostgreSQL、SQL Server)

目录

ORACLE

MySQL

PostgreSQL

[SQL Server](#SQL Server)


ORACLE

sql 复制代码
SELECT * FROM (
  SELECT t.*, ROWNUM AS rn
  FROM (SELECT * FROM 表名 ORDER BY 排序字段) t
  WHERE ROWNUM <= 结束行数
)
WHERE rn >= 开始行数;

其中,表名是你要查询的表名,排序字段是你希望按照哪个字段进行排序,开始行数和结束行数分别表示你希望查询的结果的起始行和结束行。

请注意,Oracle中的ROWNUM是一个伪列,它在查询结果返回之前进行计算。因此,在使用ROWNUM进行分页查询时,需要先进行排序,然后再使用ROWNUM进行筛选。

MySQL

sql 复制代码
SELECT * FROM 表名
LIMIT 开始行数, 每页行数;

其中,表名是你要查询的表名,开始行数表示你希望查询结果的起始行,每页行数表示每页显示的行数。

例如,如果你希望查询表名为"students"的数据,从第10行开始,每页显示5行,可以使用以下语句:

sql 复制代码
SELECT * FROM students
LIMIT 10, 5;

这将返回从第10行开始的5行数据。

请注意,MySQL中的LIMIT语句中的行数是从0开始计数的,而不是从1开始计数的。因此,LIMIT 10, 5 表示从第11行开始,返回5行数据。

PostgreSQL

sql 复制代码
SELECT * FROM 表名
LIMIT 每页行数
OFFSET 开始行数;

其中,表名是你要查询的表名,每页行数表示每页显示的行数,开始行数表示你希望查询结果的起始行。

例如,如果你希望查询表名为"students"的数据,从第10行开始,每页显示5行,可以使用以下语句:

sql 复制代码
SELECT * FROM students
LIMIT 5
OFFSET 10;

这将返回从第10行开始的5行数据。

请注意,OFFSET关键字表示从结果集的起始位置偏移多少行。在上述示例中,OFFSET 10 表示从结果集的第11行开始返回数据。

SQL Server

sql 复制代码
SELECT * FROM 表名
ORDER BY 排序字段
OFFSET 开始行数 ROWS
FETCH NEXT 每页行数 ROWS ONLY;

其中,表名是你要查询的表名,排序字段是你希望按照哪个字段进行排序,开始行数表示你希望查询结果的起始行,每页行数表示每页显示的行数。

例如,如果你希望查询表名为"students"的数据,从第10行开始,每页显示5行,可以使用以下语句:

sql 复制代码
SELECT * FROM students
ORDER BY 排序字段
OFFSET 10 ROWS
FETCH NEXT 5 ROWS ONLY;

这将返回从第10行开始的5行数据。

请注意,OFFSET FETCH语句中的行数是从0开始计数的,而不是从1开始计数的。因此,OFFSET 10 ROWS表示从结果集的第11行开始返回数据。

相关推荐
jiayou641 小时前
KingbaseES 表级与列级加密完全指南
数据库·后端
GBASE21 小时前
G术时刻 |GBase 8s数据库事务并发控制之封锁技术介绍(下)
数据库
xiezhr1 天前
逛GitHub发现了一款免费的带AI功能的数据库管理工具
数据库·ai编程·dba
唐青枫2 天前
MySQL JSON 实战详解:从存储、查询、更新到 JSON_TABLE 与索引
sql·mysql
吃糖的小孩2 天前
给 QQ AI 机器人设计“可控记忆”:会话摘要、手动长期记忆与角色卡边界
数据库
小满8782 天前
5.Mysql事务隔离级别与锁机制
mysql
笃行3503 天前
金仓数据库数据安全双防线:静态存储加密与传输加密实战
数据库
笃行3503 天前
金仓数据库物理备份实战:sys_rman 全流程演练与误覆盖抢救
数据库
笃行3503 天前
金仓数据库逻辑备份实战:从全库导出到 Schema 替换的完整闭环
数据库
元Y亨H3 天前
技术笔记:MySQL 字符集排序规则与大小写敏感性问题解决方案
mysql