取得第10到第20行记录 select top 20 * from table where id not in (select top 10 id from table order by 排序字段 asc) order by 排序字段 asc
我还以为是多高深的技术难题呢,原来就是这么点事啊。 select top 20 * from 表 where id=>100 这样写就可以了。
select 字段名 from 表名 where rownum <=200 oracle 中select top 20 * from 表 where id=>100 如果删除了一行 id 就是不连续的了!!
可以使用子查询,但是不知道效率如何。以下是在Dev-Club上看到的:从publish 表中取出第 n 条到第 m 条的记录: SELECT TOP m-n+1 * FROM publish WHERE (id NOT IN (SELECT TOP n-1 id FROM publish))id 为publish 表的关键字原作者:yanek
不解?是MSN坏了!!???还是工作的时候不能用?好的,谢谢
那我就这样问问吧,今天偶然(实际上是故意关注此类消息,找出来的)看到一个论坛,一个栏目的数据量达到了20W条,他一点也不慢,和其他几千条数据的栏目,效果一样~~~后来知道他是这样做的
一个栏目的索引按文本方式存在一个文本文件中,然后要读好多好数据的时候,直接从那行数据开始读取,这样的话,即便是100W条数据,读取的时候读的是第10W行,那前面9万9千行也没有读,大概和下载软件中的断点续载的方式一样,这个方法,我当兵前也曾经听说过,一个好象也是老美,用PERL+这个方法做了一个DNS序列库,但好象还用了些别的什么据说数据量十分的海量……由于那篇介绍是老外的,我英语不好,就用东方快车翻译了看,有很多地方没看明白……
这样就可以读取100-200间的记录
rownum 是ORACLE中的一个特定字段,我也是从论坛上学的!
select top 20 * from table where id not in (select top 10 id from table order by 排序字段 asc) order by 排序字段 asc
select top 20 * from 表 where id=>100
这样写就可以了。
select 字段名 from 表名 where rownum <=200 oracle 中select top 20 * from 表 where id=>100 如果删除了一行 id 就是不连续的了!!
SELECT TOP m-n+1 *
FROM publish
WHERE (id NOT IN
(SELECT TOP n-1 id
FROM publish))id 为publish 表的关键字原作者:yanek