我们必须在SQL Server 2008/2012中使用Limit关键字。
我们需要为每个查询应用限制,其中每次启动索引都会更改。当我在google搜索时发现TOP但它对我们不起作用。任何人都可以分享如何在每次启动索引更改的sql server中使用LIMIT关键字。
我们需要在SQL服务器中进行查询,如下所示 -
SELECT * from STOCK LIMIT 11, 10000 (where 11=start index, 10000=size)
答案 0 :(得分:0)
这对您来说可能不是一个好的长期解决方案,但如果表格有一个标识字段,您可以这样做:
SELECT TOP 1000 * FROM STOCK
WHERE Id > 11
ORDER BY Id
答案 1 :(得分:0)
您可以使用具有窗口功能的CTE,就像在这个SO问题的答案中一样 - > Skip first row in SQL Server 2005?
答案 2 :(得分:0)
你必须使用像ROW_NUMBER()
这样的功能,然后从那里指定你想要的东西。
select top 10000 *, row_number() over (order by [YourFieldName]) as row from Stock where row > 11
答案 3 :(得分:-1)
我们已升级到SQL Server 2012并用OFFSET和FETCH替换了查询。样品如下。
SELECT ITEM_ID, PRICE FROM MENU ORDER BY ITEM_ID ASC OFFSET 10 ROWS FETCH NEXT 10 ROWS ONLY;