可能重复:
MS SQL Server中的行偏移
我想选择从x1到x2的范围.就像你可以选择最佳结果一样:
SELECT TOP X * FROM TABLE
SELECT TOP 5 * FROM tUsers
Run Code Online (Sandbox Code Playgroud)
但我想选择中间结果.所以如果我想要结果10-20是否有办法查询?
SELECT 10-20 * FROM TABLE?
Run Code Online (Sandbox Code Playgroud)
San*_*nda 14
使用SQL Server:
使用MySQL:
SELECT * FROM `your_table` LIMIT 10, 20
Run Code Online (Sandbox Code Playgroud)
使用Oracle:
SELECT * FROM `your_table` WHERE rownum >= 10 and rownum < 20;
Run Code Online (Sandbox Code Playgroud)
使用PostgreSQL:
SELECT * FROM `your_table` LIMIT 20 OFFSET 10
Run Code Online (Sandbox Code Playgroud)
`your_table`必须替换为您的真实表名
在 SQL Server 2005 或更高版本中,您可以使用 aCTE和ROW_NUMBER函数:
WITH TblCte as
(
SELECT *
,ROW_NUMBER() OVER (ORDER BY OrderCol) RowNumber
FROM Table
)
SELECT *
FROM TblCte
WHERE RowNumber between 10 and 20
Run Code Online (Sandbox Code Playgroud)
在 SQL Server 2000 或更低版本中,它非常困难且效率低下:http : //social.msdn.microsoft.com/Forums/en-IE/transactsql/thread/e92d9b03-42ad-4ab9-9211-54215e7b9352
| 归档时间: |
|
| 查看次数: |
31285 次 |
| 最近记录: |