数据库查询语句怎样查询一个表中的第15到第20条数据

数据库查询语句怎样查询一个表中的第15到第20条数据,第1张

用row_number来查询。

具体方法如下:

以sqlserver2008R2为例。

1、创建数据表插入数据:

create table test

(id int,

name varchar(20))

insert into test values (1000,'张三')

insert into test values (1001,'李四')

insert into test values (1002,'王五')

insert into test values (1003,'赵六')

insert into test values (1004,'孙七')

insert into test values (1005,'杨八')

insert into test values (1006,'刘九')

insert into test values (1007,'李白')

insert into test values (1008,'杜甫')

insert into test values (1009,'白居易')

insert into test values (1010,'王安石')

insert into test values (1011,'范仲淹')

insert into test values (1012,'老子')

insert into test values (1013,'庄子')

insert into test values (1014,'孙子')

insert into test values (1015,'乔丹')

insert into test values (1016,'詹姆斯')

insert into test values (1017,'韦德')

insert into test values (1018,'罗德曼')

insert into test values (1019,'梅西')

insert into test values (1020,'内马尔')

2、执行语句,查询从id由小到大,然后找出第15到第20位的数据:

select t.id,t.name,t.rn from

(select test.*,row_number() over(order by id) rn from test) t 

where t.rn between 15 and 20

执行结果如下:

其中红框部分即为排名信息。

您好!

数据库表中的数据是没有顺序的,所以你说的10-20条的数据就必须的有个条件,也就是说

where

某列名

=

XXX,那么咱们

以Id

列来说吧

sql

语句

select

top

10

*

from

表名

where

id

not

in(select

top

10

id

from

表名)

这个语句是子查询就是说先查出前10条数据,然后再去查这个表去掉前10条的剩下的所有数据的前10条。明白了吗?以下是

通用的分页语句,比较简单

SELECT

TOP

页大小

*

FROM

TestTable

WHERE

ID

NOT

IN

(SELECT

TOP

页大小*页数

id

FROM

ORDER

BY

id))

ORDER

BY

ID


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6692056.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存