在MySQL中,我们使用LIMIT
和SQL Server必须使用TOP
代替LIMIT
,但我们可以在使用这种方式LIMIT
:转换LIMIT到TOP
Limit X, Y
其中X为出发点和Y是持续时间。
现在我该如何使用TOP
这样的例子?
在MySQL中,我们使用LIMIT
和SQL Server必须使用TOP
代替LIMIT
,但我们可以在使用这种方式LIMIT
:转换LIMIT到TOP
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
@gbn是的,我的坏。像你一样继续:) +1回答。 – Fluffeh 2012-08-08 12:22:55
@Fluffeh:问题是 - 相当于sql服务器中的限制x,y – 2012-08-08 12:22:58
您不能SQL Server 2012中添加这之前FETCH..OFFSET
所以,你需要“page”使用ROW_NUMBER函数。实例:
http://stackoverflow.com/questions/971964/limit-10-20-in-sqlserver – 2012-08-08 12:21:53
http://stackoverflow.com/questions/ 216673/emulate-mysql-limit-clause-in-microsoft-sql-server-2000 – 2012-08-08 12:22:37
http://stackoverflow.com/questions/603724/how-to-implement-limit-with-microsoft-sql-server – 2012-08-08 12:23:00