dai*_*isy 0 sql sql-server select sql-server-2008
以下陈述有什么问题?我正在使用SQL Server 2008.
use Demo;
SELECT * FROM users
limit 0 , 30
Run Code Online (Sandbox Code Playgroud)
我有:
Msg 102, Level 15, State 1, Line 4
Incorrect syntax near '0'.
Run Code Online (Sandbox Code Playgroud)
这真的很奇怪.我试过谷歌,但没有找到太多信息.
LIMIT
是一个MySQL关键字.在MS SQL Server中使用TOP
或ROWCOUNT
关键字.
注意,TOP
可以接受变量,例如SELECT TOP( @NumberOfRows ) * FROM Foo;
请参阅:如何在SQL Server 2005中使用LIMIT关键字?(也适用于2008年)
根据LIMIT
使用方式的不同,LIMIT
和之间存在重要差异TOP
(数据的范围/页数与仅限制结果数量之间的差异).在这种情况下,MS SQL语法更详细; 通常,ROW_NUMBER()函数结合一些简单的逻辑来计算对所需页面有效的值.
SELECT * FROM
(
SELECT
ROW_NUMBER() OVER( ORDER BY SomeColumn ASC ) AS RowNumber,
AnotherColumn
FROM dbo.MyTable
) Q
WHERE RowNumber BETWEEN 20 AND 30; -- these integers can be variables
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2588 次 |
最近记录: |