手写分页sql_sql 分页的两种写法
时间: 2023-08-30 21:12:28 浏览: 279
sql分页查询几种写法
手写分页 SQL 语句一般用于在数据库中查询大量数据时,为了提高查询效率和显示效果而使用。常见的分页 SQL 语句有两种写法:
1. 基于 LIMIT 和 OFFSET 的分页 SQL
这种写法的 SQL 语句格式如下:
```
SELECT * FROM table_name LIMIT m OFFSET n;
```
其中,m 表示每页显示的记录数,n 表示从第几条记录开始显示。
例如,如果要显示第 6~10 条记录,每页显示 5 条,则 SQL 语句为:
```
SELECT * FROM table_name LIMIT 5 OFFSET 5;
```
2. 基于 ROW_NUMBER() 函数的分页 SQL
这种写法的 SQL 语句格式如下:
```
WITH temp AS
(
SELECT ROW_NUMBER() OVER (ORDER BY column_name ASC/DESC) AS row_num, *
FROM table_name
)
SELECT * FROM temp WHERE row_num BETWEEN m AND n;
```
其中,m 表示每页显示的记录数的起始编号,n 表示每页显示的记录数的结束编号。
例如,如果要显示第 6~10 条记录,每页显示 5 条,则 SQL 语句为:
```
WITH temp AS
(
SELECT ROW_NUMBER() OVER (ORDER BY column_name ASC/DESC) AS row_num, *
FROM table_name
)
SELECT * FROM temp WHERE row_num BETWEEN 6 AND 10;
```
需要注意的是,在使用第二种写法的 SQL 语句时,需要根据实际情况指定排序方式和排序列的名称。
阅读全文