单表分页查询sql语句
时间: 2023-11-30 21:43:18 浏览: 41
以下是在SQL Server中进行单表分页查询的两种方法:
1. 使用OFFSET FETCH子句
```sql
SELECT *
FROM table_name
ORDER BY column_name
OFFSET (page_number - 1) * page_size ROWS
FETCH NEXT page_size ROWS ONLY;
```
其中,table_name是要查询的表名,column_name是用于排序的列名,page_number是要查询的页码,page_size是每页的记录数。
例如,要查询第2页,每页10条记录的数据:
```sql
SELECT *
FROM my_table
ORDER BY id
OFFSET 10 ROWS
FETCH NEXT 10 ROWS ONLY;
```
2. 使用子查询和TOP关键字
```sql
SELECT TOP page_size *
FROM (
SELECT ROW_NUMBER() OVER (ORDER BY column_name) AS row_num, *
FROM table_name
) AS subquery
WHERE row_num > (page_number - 1) * page_size;
```
其中,table_name是要查询的表名,column_name是用于排序的列名,page_number是要查询的页码,page_size是每页的记录数。
例如,要查询第2页,每页10条记录的数据:
```sql
SELECT TOP 10 *
FROM (
SELECT ROW_NUMBER() OVER (ORDER BY id) AS row_num, *
FROM my_table
) AS subquery
WHERE row_num > 10;
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)