我有一个表,它有10条记录,并且不使用where条件从5到10获取记录。
答案 0 :(得分:3)
您可以使用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;
答案 1 :(得分:0)