在sql server中,ROW_NUMBER必须指定over (order by **),有时不想排序,只想按原始顺序。
此时可以参考下面的写法,希望对您有所帮助。
设置sqlServer使用ROW_NUMBER时不排序。
--1.看到NHibernate是这样写的分页,感觉写起来比较容易理解(应该不会有效率问题吧?)
--with只是定一个别名?
with query as (select ROW_NUMBER() over(order by (select 0)) AS ROWNUM, * FROM Product)
select * from query where ROWNUM BETWEEN 5 AND 10
--2.ROW_NUMBER必须指写over (order by **),有时我根本就不想排序,想按原始顺序(排序也是要时间的嘛)
--方法:
select ROW_NUMBER() over(order by (select 0)) AS ROWNUM,* FROM Product
---排序 :
select Row_number() over(order by Oper_Date desc) AS ROWNUM,* FROM Product