如何 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;
希望对您有所帮助。
我有一个 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;
希望对您有所帮助。