我有一个SQL查询,它将返回超过10,000行。由于客户端一次只能查看12行,我如何修改我的SQL,以便只选择所需的行?
我的期望是,每当用户单击网格时,我都会重新查询数据库。我的解决方案是基于下面的演示,但是我正在尝试使用northwind的"OrderDetail“表,它没有干净的/顺序的ID值。
http://demos.telerik.com/aspnet-ajax/grid/examples/client/virtualscrollpaging/defaultcs.aspx
我在本地开发环境中使用SQL Express,但在生产环境中将使用SQL2008。
发布于 2010-10-27 05:34:48
您可以使用ROW_NUMBER()函数:
WITH paging AS
(
SELECT
ROW_NUMBER() OVER (ORDER BY COLUMN) AS rowNum,
...
FROM table
)
SELECT *
FROM paging
WHERE rowNum BETWEEN 1 AND 12这将创建一个CTE,但也可以使用temp表或表变量。然后,您可以添加一些参数来指定BETWEEN子句的整数。
发布于 2010-10-27 05:30:53
WITH [EMPLOYEE ORDERED BY ROWID] AS
(SELECT ROW_NUMBER() OVER (ORDER BY EMPID ASC) AS ROWID, * FROM EMPLOYEE)
SELECT FROM [EMPLOYEE ORDERED BY ROWID] WHERE ROWID <= 12https://stackoverflow.com/questions/4028162
复制相似问题