我是SQL的初学者,我正在W3 Schools SQL Exercises上学习本教程。我试图运行以下查询,但我收到错误:
SELECT * FROM Customers LIMIT 5, 5
错误:
FROM子句中的语法错误。
答案 0 :(得分:7)
您的问题是您使用的是MySql语法而不是SqlServer语法。 你应该使用:
SELECT TOP 5 * FROM Customers
答案 1 :(得分:2)
如果您关注的是您提供的链接中的示例...
我们将使用Northwind数据库中的Customers表:
Northwind 是MS SQL产品中的示例数据库。并且MS SQL不支持使用LIMIT
查询。所以该网站可能正在使用该RDBMS的某些版本。
尝试跑步:
SELECT TOP 5 * FROM customers;
这将获得结果集中的前5条记录(无序)。但是,它不会跳过任何记录,因为您的LIMIT 5, 5
子句会有。
答案 2 :(得分:2)
你可以看到他们使用ADODB,所以你应该使用TOP子句:
SELECT TOP 5 * FROM Customers
答案 3 :(得分:1)
我怀疑你需要使用offset
:
select * from Customers limit 5 offset 5;
并非所有RDBMS都支持limit m,n
语法(我相信MySQL会这样做,但PostgreSQL不支持)。此外,您可能希望使用order by
子句来帮助确保您的查询获得一致的结果(因为数据库通常不关心行或列的顺序,除非您指定):
select * from Customers order by col limit 5 offset 5;