常用数据库的分页语句(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行开始返回数据。

相关推荐
加酶洗衣粉2 小时前
MongoDB部署模式
数据库·mongodb
Suyuoa2 小时前
mongoDB常见指令
数据库·mongodb
添砖,加瓦2 小时前
MongoDB详细讲解
数据库·mongodb
Zda天天爱打卡2 小时前
【趣学SQL】第二章:高级查询技巧 2.2 子查询的高级用法——SQL世界的“俄罗斯套娃“艺术
数据库·sql
我的运维人生2 小时前
MongoDB深度解析与实践案例
数据库·mongodb·运维开发·技术共享
步、步、为营2 小时前
解锁.NET配置魔法:打造强大的配置体系结构
数据库·oracle·.net
张3蜂2 小时前
docker Ubuntu实战
数据库·ubuntu·docker
神仙别闹3 小时前
基于Andirod+SQLite实现的记账本APP
数据库·sqlite
苏-言3 小时前
MyBatis最佳实践:动态 SQL
数据库·sql·mybatis
doubt。5 小时前
【BUUCTF】[RCTF2015]EasySQL1
网络·数据库·笔记·mysql·安全·web安全