Nig*_*ker 32 mysql sql sql-server oracle
我正在进行一些分页,我需要进行一些查询并获得定义切片的结果形式.例如:我需要获得范围20n <x <40n等的所有"顶部"行.
SELECT * FROM Reflow
WHERE ReflowProcessID = somenumber
ORDER BY ID DESC;
Run Code Online (Sandbox Code Playgroud)
现在我需要通过名为ID的列进行滑动.
有什么建议怎么样?我需要在mysql,mssql和oracle上运行我的查询.
Bas*_*nni 52
假设您的页面大小是20记录,并且您想要获得第2页,那么您将如何操作:
SQL Server,Oracle:
SELECT * -- <-- pick any columns here from your table, if you wanna exclude the RowNumber
FROM (SELECT ROW_NUMBER OVER(ORDER BY ID DESC) RowNumber, *
FROM Reflow
WHERE ReflowProcessID = somenumber) t
WHERE RowNumber >= 20 AND RowNumber <= 40
Run Code Online (Sandbox Code Playgroud)
MySQL的:
SELECT *
FROM Reflow
WHERE ReflowProcessID = somenumber
ORDER BY ID DESC
LIMIT 20 OFFSET 20
Run Code Online (Sandbox Code Playgroud)
Eri*_*ric 23
在MySql中,您可以使用以下命令从第20行开始获取10行:
SELECT * FROM Reflow
WHERE ReflowProcessID = somenumber
ORDER BY ID DESC
LIMIT 10 OFFSET 20 --Equivalent to LIMIT 20, 10
Run Code Online (Sandbox Code Playgroud)