我正在尝试做类似的事情:
SELECT * FROM table LIMIT 10,20
或者
SELECT * FROM table LIMIT 10 OFFSET 10
但使用 SQL Server
我发现的唯一解决方案看起来有点矫枉过正:
SELECT * FROM (
SELECT *, ROW_NUMBER() OVER (ORDER BY name) as row FROM sys.databases
) a WHERE row > 5 and row <= 10
我还发现:
SELECT TOP 10 * FROM stuff;
...但这不是我想做的,因为我无法指定起始限制。
我还有其他方法吗?
另外,只是好奇,是否有 SQL Server 不支持该LIMIT
功能或类似功能的原因?我不想刻薄,但这听起来确实像是 DBMS 需要的东西……如果确实如此,那么我很抱歉我这么无知!在过去的 5 年里,我一直在使用 MySQL 和 SQL+,所以......