在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