本文主要是介绍常用数据库的分页语句(mySlq、oracle、PostgreSQL、SQL Server),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
ORACLE
MySQL
PostgreSQL
SQL Server
ORACLE
SELECT * FROM (SELECT t.*, ROWNUM AS rnFROM (SELECT * FROM 表名 ORDER BY 排序字段) tWHERE ROWNUM <= 结束行数
)
WHERE rn >= 开始行数;
其中,表名是你要查询的表名,排序字段是你希望按照哪个字段进行排序,开始行数和结束行数分别表示你希望查询的结果的起始行和结束行。
请注意,Oracle中的ROWNUM是一个伪列,它在查询结果返回之前进行计算。因此,在使用ROWNUM进行分页查询时,需要先进行排序,然后再使用ROWNUM进行筛选。
MySQL
SELECT * FROM 表名
LIMIT 开始行数, 每页行数;
其中,表名是你要查询的表名,开始行数表示你希望查询结果的起始行,每页行数表示每页显示的行数。
例如,如果你希望查询表名为"students"的数据,从第10行开始,每页显示5行,可以使用以下语句:
SELECT * FROM students
LIMIT 10, 5;
这将返回从第10行开始的5行数据。
请注意,MySQL中的LIMIT语句中的行数是从0开始计数的,而不是从1开始计数的。因此,LIMIT 10, 5 表示从第11行开始,返回5行数据。
PostgreSQL
SELECT * FROM 表名
LIMIT 每页行数
OFFSET 开始行数;
其中,表名是你要查询的表名,每页行数表示每页显示的行数,开始行数表示你希望查询结果的起始行。
例如,如果你希望查询表名为"students"的数据,从第10行开始,每页显示5行,可以使用以下语句:
SELECT * FROM students
LIMIT 5
OFFSET 10;
这将返回从第10行开始的5行数据。
请注意,OFFSET关键字表示从结果集的起始位置偏移多少行。在上述示例中,OFFSET 10 表示从结果集的第11行开始返回数据。
SQL Server
SELECT * FROM 表名
ORDER BY 排序字段
OFFSET 开始行数 ROWS
FETCH NEXT 每页行数 ROWS ONLY;
其中,表名是你要查询的表名,排序字段是你希望按照哪个字段进行排序,开始行数表示你希望查询结果的起始行,每页行数表示每页显示的行数。
例如,如果你希望查询表名为"students"的数据,从第10行开始,每页显示5行,可以使用以下语句:
SELECT * FROM students
ORDER BY 排序字段
OFFSET 10 ROWS
FETCH NEXT 5 ROWS ONLY;
这将返回从第10行开始的5行数据。
请注意,OFFSET FETCH语句中的行数是从0开始计数的,而不是从1开始计数的。因此,OFFSET 10 ROWS表示从结果集的第11行开始返回数据。
这篇关于常用数据库的分页语句(mySlq、oracle、PostgreSQL、SQL Server)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!