执行但报第 4 行 'OFFSET' 附近有语法错误。
时间: 2024-01-13 13:04:09 浏览: 33
如果你的 SQL Server 报错提示 `OFFSET` 附近有语法错误,很可能是因为你的 SQL Server 版本过低,不支持 `OFFSET FETCH` 子句。
在 SQL Server 2012 之前的版本中,可以使用 `ROW_NUMBER` 函数和子查询来实现分页查询,例如:
```
SELECT column1, column2, ...
FROM (
SELECT column1, column2, ..., ROW_NUMBER() OVER (ORDER BY column1, column2, ...) AS row_num
FROM table_name
) AS temp_table
WHERE row_num BETWEEN {start_row_num} AND {end_row_num};
```
其中,`ROW_NUMBER()` 函数计算每行的行号,`start_row_num` 表示需要返回的起始行号,`end_row_num` 表示需要返回的结束行号。
例如,查询表 `employees` 中的第 11~20 条记录,可以使用以下语句:
```
SELECT *
FROM (
SELECT *, ROW_NUMBER() OVER (ORDER BY employee_id) AS row_num
FROM employees
) AS temp_table
WHERE row_num BETWEEN 11 AND 20;
```
需要注意的是,`ROW_NUMBER` 函数的 `OVER` 子句中必须指定一个 `ORDER BY` 子句,以便为每行分配正确的行号。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://img-home.csdnimg.cn/images/20210720083646.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)
![](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)