2011-04-17 85 views
1

爲什麼此查詢在Sql Server 2008中不起作用?分頁sql查詢

Select Top @PageSize Skip @Page * @PageSize * From someTable 

奇怪的是,即使這不工作: -

Select Top @PageSize * From Tree 

但是這一個工程: -

Select Top 10 * From Tree 

此語句中的存儲過程。

在此先感謝:)

回答

2

您的第一個查詢語法根本無效。

第二個只需要括號(應該有一個ORDER BY

Select Top (@PageSize) * 
From Tree 
ORDER BY /*TODO: Add column(s)*/ 

要達到什麼樣的你,顯然是試圖在第一種情況下做的,你可以在這個答案使用ROW_NUMBERBETWEEN作爲T-SQL Skip Take Stored Procedure

2

你需要括號

Select Top (@PageSize) * From Tree 

但是沒有被它的訂單不成很多意義

SKIP是無效的SQL Server語法,第一個查詢將不起作用