在 MySQL 中我们使用LIMIT
,而在 sql server 中我们必须使用TOP
而不是LIMIT
,但我们可以LIMIT
这样使用:
Limit X, Y
其中 X 是起点,Y 是持续时间。
现在我怎么能TOP
像那个例子一样使用?
在 MySQL 中我们使用LIMIT
,而在 sql server 中我们必须使用TOP
而不是LIMIT
,但我们可以LIMIT
这样使用:
Limit X, Y
其中 X 是起点,Y 是持续时间。
现在我怎么能TOP
像那个例子一样使用?
您可以使用 ROW_NUMBER() 函数和 CTE(公用表表达式)
with cte as(
select *,ROW_NUMBER() over (order by col1) as rownumber from <table>)
select * from cte where rownumber between x and y
你不能在 SQL Server 2012 之前添加FETCH..OFFSET
所以你需要使用 ROW_NUMBER 函数来“分页”。例子: