怎么按条件选取数据库表中的倒数5-10位

select top 5 * from dianshiju where sname='张三' and dsjid not in(select top 5dsjid from dianshiju where name='张三') order by id desc
怎么选数的5-10位
倒数5-10位

首先不存在倒数和正数的概念,因为:假设升序(asc)是正数的话,那么降序(desc)就是倒数,这一点可以用代码控制。

好了,解决倒数的问题,剩下的就是5-10位的问题,很简单,rownum大于5小于等于10就可以了。

对于你的例子,假如降序是正数的话:
select * from dianshiju where sname='张三' and dsjid not in(select top 5dsjid from dianshiju where name='张三') and rownum>5 and rownum<=10 order by id
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-09-30
什么倒数5-10位?不明白,top 5 查询出来,最多也就是5条数据。追问

比如表中有1000条数据,有400个name为张三的数据分散在表中,按name为张三的条件,选取name为张三且id最大的5-10位,我的这个排序是搜索不出来的

追答SELECT * FROM (
SELECT ROW_NUMBER() OVER (ORDER BY id DESC) AS ROWNUM,* FROM dianshiju
WHERE sname='张三' 
) T
WHERE ROWNUM BETWEEN 5 AND 10

怎么按条件选取数据库表中的倒数5-10位
首先不存在倒数和正数的概念,因为:假设升序(asc)是正数的话,那么降序(desc)就是倒数,这一点可以用代码控制。好了,解决倒数的问题,剩下的就是5-10位的问题,很简单,rownum大于5小于等于10就可以了。对于你的例子,假如降序是正数的话:select * from dianshiju where sname='张三' and dsj...

如何从一个数据库中选出倒数五个数据?
select top 5 * from 表明字 order by 字段名 asc 意思是,把表按照“字段”升序排列,然后仅仅取前五个,即最小的五个。试一试吧!

数据库查询语法如何指定查询倒数信息
select top 5 from 表名 order by ID desc 这个是先按ID进行降序排序,然后选出那5位,不过这样筛选出来的数据,是20,19、、、到16的,你是必须要16,17,18,19,20的么?

ASP中如何只取出倒数第5个以前的数据
select * from bookid where id not in(select top 5 id from bookid order by id desc ) and newsbook=1 order by adddate desc

...指点:我想在ASP中读取ACCESS数据库某个表的倒数10个记录,并能按倒序...
最后10个记录 倒序排列 select top 10 * from table order by id desc

mysql怎么分别按字段查出数据
一、获取特定的几位:1、取url字段后三位字符 select SUBSTRING(url, -3) from link;这种只能针对固定长度,比说url共8个字符,可以下面这种写法 select RIGHT(`url`,length(`url`)-5) from link;2、从左开始第3位取(包括第三位)select SUBSTRING(url, 3) from link;3、取左边的3位 selec...

如何从SQL数据库表中查找倒数第三到倒数第六条记录
在排序的时候用DESC就是倒序排列.倒数第一就是第一条记录.rs.absolute(int) 比如我要从第三条开始显示则用rs.absolute(2)然后rs.next()就是第三条了.显示倒第六条的时候break就可以了.

sql select语句 倒数第10~20的字段
兄弟对于这个问题可以按这样的思路来做!先用一个判断语句来做统计一个表里面是否有大于你要的数;有的可以先用SELECT *FROM WHERE 1=2带出表结构;再来进行转置成行。然后再SELECT TOP 你要的字段数量 FROM 表 第二种方法:要求对各系统表比较熟悉;syscolumns sysobjects ...

SQL数据库表中查找第三到倒数第六条记录
select * from 表 where id not in (select top 6 muserid from 表 order by id desc)and id not in (select top 3 muserid from 表 order by id)当然id得是有顺序的。

查询数据库表中前10条记录怎么写呢?
查询前十条记录(顺数)select top 10 * form 表 where ..." '也可以不要后面的where子句 查询后十条记录(倒数)select top 10 * form 表 where ... order by id desc"'注:ID是数据库自动编号

相似回答