3

在 MySQL 中我们使用LIMIT,而在 sql server 中我们必须使用TOP而不是LIMIT,但我们可以LIMIT这样使用:

Limit X, Y其中 X 是起点,Y 是持续时间。

现在我怎么能TOP像那个例子一样使用?

4

2 回答 2

4

您可以使用 ROW_NUMBER() 函数和 CTE(公用表表达式)

ROW_NUMBER

with cte as(
select *,ROW_NUMBER() over (order by col1) as rownumber from <table>)
select * from cte where rownumber between x and y 
于 2012-08-08T12:17:13.837 回答
3

你不能在 SQL Server 2012 之前添加FETCH..OFFSET

所以你需要使用 ROW_NUMBER 函数来“分页”。例子:

于 2012-08-08T12:20:26.133 回答