sql server 查询显示第10条到第20条信息

2024-11-29 21:27:44
推荐回答(5个)
回答1:

呵呵,我看了迅晌看其他的人的回答,大多都进行了排序,或者强制设置主键进行大小判断,这样的答复感觉还是欠妥的;

下面的方案在sql server 2014上面是测试通过的亩悄锋,具体的可以看:

select top 20 * from StuInfo
except
select top 9 * from StuInfo

具体的例子可以看下图:

注:我的数据库是 sql server 2014

希运咐望对你有用哦,谢谢

回答2:

一句干脆的SQL语法猜键磨是亮迅无法查询出以上的结果的。不套着穗斗子查询是不可能的。
先选出前20行记录,再选前10行记录,作为两个表,做个减
select * from
(select top 20 * from stuinfo ) a
where not exists (select 1 from (select top 10 * from stuinfo) b where a.主键 = b.主键)

回答3:

SELECT TOP 11 * FROM (
SELECT ROW_NUMBER() OVER (ORDER BY StuID) AS RowNumber, *
FROM StuInfo) t
WHERE RowNumber >= 10

假李稿设StuID是StuInfo表的主键“学号”。先按哪念孝学号排序,生成高禅行号,再返回行号>=10时的前11条记录,即行号为10~20的11条记录。

回答4:

select * from
(
select top 20 * from Table1 a where PK not in
(select top 10 PK from Table1 b order by PK)
order by PK
)

回答5:

(select * from task except select top 6 * from task) INTERSECT select top 9 * from task
TOP6-TOP9