怎么使用sql server查询显示第10条到第20条信息?

2025-02-19 07:01:17
推荐回答(2个)
回答1:

1、sql查询前10条数据:

select top 10  * from tablename where 1=1;1

2、oracle查询前10条数据:

select * from tablename where rownum<=10;1

oeacle中没有top,使用的是rownum,下面是关于rownum的介绍:

================================

rownum是Oracle从8开始提供的一个伪列,是把SQL出来的结果进行编号,始终从1开始,常见的用途就是用来分页输出.

select * from tablename where rownum<=10;1

rownum也可以实现数据分页查询:

SELECT *

FROM (SELECT a.*, ROWNUM rn

FROM tablename a)

WHERE rn >= 10 AND rn <= 201234567

这条语句即是输出第10到第20条纪录,这里之所以用rownum rn,是把rownum转成实例,因为rownum本身只能用 <=的比较方式,只有转成实列,这样就可做 >=的比较了。

回答2:

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条记录。