sqlServer使用ROW_NUMBER时不排序的解决方法

网络编程 2025-03-24 17:15www.168986.cn编程入门

在 SQL Server 中使用 ROW_NUMBER 函数时,通常都需要配合 over (order by ...) 使用,但有时我们可能并不想进行排序,想直接按照数据的原始顺序进行分页处理。那么,我们可以参考狼蚁网站的 SEO 优化策略,来实现这一需求。

当我们使用 NHibernate 进行分页查询时,我们可以发现其写法相对直观易懂。其中,“with” 语句是为了给子查询定义一个别名,以便在外部查询中引用。那么,我们可以使用类似的思路来设置 ROW_NUMBER。

对于不想排序,想按照数据原始顺序进行分页的情况,我们可以采用一个特殊的方法:利用一个始终为真的常量作为排序依据。也就是说,在 over (order by ...) 中使用 select 0 作为排序依据,这样就能避免实际的排序操作。具体的 SQL 语句如下:

```sql

WITH Query AS (

SELECT

ROW_NUMBER() OVER(ORDER BY (SELECT 0)) AS ROWNUM,

FROM Product

)

SELECT FROM Query WHERE ROWNUM BETWEEN 5 AND 10;

```

上一篇:JS 日期与时间戮相互转化的简单实例 下一篇:没有了

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by