黑马程序员技术交流社区

标题: sql如何获得第30到40条之间的数据 [打印本页]

作者: 梦ing    时间: 2012-12-19 23:35
标题: sql如何获得第30到40条之间的数据
如题。。。。。。。。。。。。。。。。。。。。。。。。。。。。
作者: Sailing.    时间: 2012-12-20 00:15
select * from table where id>30 and id <40;随便写写的
作者: 郑文    时间: 2012-12-20 01:11
select  *  from
(SELECT   Id ,Name, Age,row_number() over(order by id) as rownum
FROM table) as t
where t.rownum>=30 and t.rownum <=40
作者: 宋天琪    时间: 2012-12-20 10:18
此帖很水啊,哈哈
作者: 苏波    时间: 2012-12-20 12:31
select  top 10* from Table
where Id not in (select top 30 Id from Table orderby Age desc)
oerder byAge desc

作者: 唐海军    时间: 2012-12-20 14:02
select top 10 * from T_user
where id not in (select top 30 * from T_user order by id desc)//先查出前30条数据的ID  在查询不在这30条中的 排名为10条的数据 就是30-40 间的数据
order by id;
作者: 梦ing    时间: 2012-12-24 15:56
Sailing. 发表于 2012-12-20 00:15
select * from table where id>30 and id

id不是按顺序排的了
作者: 阮佳佳    时间: 2012-12-24 15:57
sql如何获得第30到40条之间的数据 。。。
select  top 10* from Table
where Id not in (select top 30 Id from Table orderby Age desc)
oerder byAge desc


作者: 梦ing    时间: 2012-12-24 16:01
郑文 发表于 2012-12-20 01:11
select  *  from
(SELECT   Id ,Name, Age,row_number() over(order by id) as rownum
FROM table) as t

SELECT   Id ,Name, Age,row_number() over(order by id) as rownum
FROM table
这里的这句是什么意思 row_number() 为啥要加括号  这里的over又是什么意思了啊  不是很懂
作者: 梦ing    时间: 2012-12-24 16:03
苏波 发表于 2012-12-20 12:31
select  top 10* from Table
where Id not in (select top 30 Id from Table orderby Age desc)
oerder by ...

嗯,这是个方法,了解
作者: 梦ing    时间: 2012-12-24 16:04
唐海军 发表于 2012-12-20 14:02
select top 10 * from T_user
where id not in (select top 30 * from T_user order by id desc)//先查出前 ...

恩恩,谢谢,懂了,注释很不错,给了思路
作者: 苗昆明    时间: 2012-12-25 12:09
用and或者between关键字进行查询




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2