,row_number() over
时间: 2023-10-19 19:31:18 浏览: 56
在SQL Server 2005中,可以使用row_number() over函数来实现分页功能。该函数可以根据指定的排序方式对结果集进行编号,并返回每行的行号。引用
下面是一个通用的分页方法的示例,其中pageindex表示当前页码,pagesize表示每页的记录数。可以使用以下查询语句来实现分页:
```sql
SELECT TOP pagesize * FROM (
SELECT ROW_NUMBER() OVER (ORDER BY addtime) AS ROWS,
p.id,
p.accieptname,
p.addtime
FROM [dbo].[GongCaiOrder_a p
) temp
WHERE ROWS > pagesize * (pageindex - 1)
```
引用
需要注意的是,over函数会在where、group by、order by之后执行查询,所以在where语句中使用over函数会导致错误,因为在where时over函数还未执行,未生成行号。所以要注意使用over函数的位置。引用<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [sqlserver2005使用row_number() over分页的实现方法](https://download.csdn.net/download/weixin_38537968/12835391)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [SQL中ROW_NUMBER() OVER()的用法详解](https://blog.csdn.net/qq_46505849/article/details/119929644)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]