将LIMIT转换为TOP

时间:2012-08-08 12:16:01

标签: php mysql sql sql-server-2008-r2

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

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

现在我如何使用TOP这样的例子?

2 个答案:

答案 0 :(得分: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 

答案 1 :(得分:3)

您无法在SQL Server 2012之前添加FETCH..OFFSET

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