如何 select 从第 5 行开始记录而不使用 SQL 服务器中的 where 查询

How to select record from 5th row without using where query in SQL Server

我有一个 table,它有 10 条记录,可以在不使用 where 条件的情况下获取 5 到 10 条记录。

您可以使用 OFSET-FETCH。它应该是这样的:

SELECT  *
FROM mytable
ORDER BY id
OFFSET 5 ROWS  
FETCH NEXT 5 ROWS ONLY;  

由于SQL Server 2012 支持上述语法,对于早期版本,您可以使用排名功能:

WITH DataSource AS
(
    SELECT *
          ,ROW_NUMBER() OVER(ORDER BY id) AS rn
    FROM mytable
)   
SELECT *
FROM DataSource
WHERE rn >= 5 AND rn <=10;

执行查询的另一种方法是使用 TOP clause, according to example found here:

SELECT TOP(5) *
FROM mytable
ORDER BY id DESC;

希望对您有所帮助。