我有以下SQL查詢:使用SQL Server 2005,允許做一個存儲過程分頁
DECLARE @Page int, @RegistriesPerPage int , @FirstRegistry int, @LastRegistry int
Set @Page=1
Set @RegistriesPerPage=2
Set @FirstRegistry = (@Page - 1) * @RegistriesPerPage
Set @LastRegistry = (@Page * @RegistriesPerPage +1)
SELECT I.ID, Name, ROW_NUMBER() OVER (ORDER BY ID DESC) as Counter
FROM Items I
WHERE Counter > @FirstRegistry AND Counter < @LastRegistry
group by Id,Name
我試着讓它工作,但aparently我不能,因爲我不能用「計數器」在where子句(連ROW_NUMBER()
我怎麼可以創建存儲過程,它有兩個參數(每頁項目數和頁面返回)
不要。使用Linq2SQL或EF。您可以使用HAVING而不是所選答案的子查詢。 – SQLMason 2012-09-08 03:27:36