我开始使用SQL Server。以下作品:
SELECT TOP 100 *
FROM SalesRawData
WHERE Title = N'Sriracha'
但是以下原因导致错误:
SELECT *
FROM SalesRawData
WHERE Title = N'Sriracha'
LIMIT 100
为什么我不能在此处结尾使用“正常”限制语法?
答案 0 :(得分:3)
DMBS供应商具有专有语法来提供LIMIT
功能。 draft of the ANSI/ISO standards允许使用OFFSET
和FETCH
子句,这也可以在SQL Server中实现。 ORDER BY
是必需的(也需要使用TOP)才能提供可预测的结果。
以下是替代方法:
SELECT * FROM SalesRawData
WHERE Title = N'Sriracha'
ORDER BY Title OFFSET 0 ROWS FETCH FIRST 100 ROWS ONLY;
答案 1 :(得分:2)