Sql server 2008 如何在Microsoft SQL Server 2008中使用限制?
我们必须在SQL server 2008/2012中使用Limit关键字 我们需要对开始索引每次都会更改的每个查询应用限制。当我在谷歌上搜索时,发现了TOP,但它对我们不起作用。任何人都可以分享如何在每次开始索引更改的sql server中使用LIMIT关键字 我们需要SQL server中的查询,如下所示-Sql server 2008 如何在Microsoft SQL Server 2008中使用限制?,sql-server-2008,Sql Server 2008,我们必须在SQL server 2008/2012中使用Limit关键字 我们需要对开始索引每次都会更改的每个查询应用限制。当我在谷歌上搜索时,发现了TOP,但它对我们不起作用。任何人都可以分享如何在每次开始索引更改的sql server中使用LIMIT关键字 我们需要SQL server中的查询,如下所示- SELECT * from STOCK LIMIT 11, 10000 (where 11=start index, 10000=size) 这对您来说可能不是一个好的长期解决方案,但如
SELECT * from STOCK LIMIT 11, 10000 (where 11=start index, 10000=size)
这对您来说可能不是一个好的长期解决方案,但如果表中有一个标识字段,您可以执行以下操作:
SELECT TOP 1000 * FROM STOCK
WHERE Id > 11
ORDER BY Id
您可以使用带有窗口功能的CTE,就像在对这个问题的回答中一样->您必须使用类似于该功能的东西,然后从中指定所需内容 按[YourFieldName]选择top 10000*,订单上的行号作为库存中的行,其中行>11
我们已升级到SQL server 2012,并将查询替换为偏移和提取。样本如下
SELECT ITEM_ID, PRICE FROM MENU ORDER BY ITEM_ID ASC OFFSET 10 ROWS FETCH NEXT 10 ROWS ONLY;
SQL Server中没有限制。所以你不能用它。TOP到底是什么意思对我们来说不起作用?如果2012年你可以使用LIMIT,它是一个特定于MySQL/Postgres的扩展,不是所有SQL数据库中都可以使用的,它也不是SQL语言标准的一部分。可能的重复借助offset和fetch,我们可以解决SQL server 2012中的LIMIT问题。示例-按项目ID从菜单顺序中选择项目ID、价格ASC偏移量10行仅取下10行;在offset和fetch的帮助下,我们可以解决SQL server 2012中的限制问题。示例-按项目ID从菜单顺序中选择项目ID、价格ASC偏移量10行仅取下10行;我们已迁移到SQL server 2012,并用偏移量和提取量替换了限制。thanksWe已迁移到SQL server 2012,并用偏移量和提取量替换了限制。谢谢