我有以下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