--大概如下 select * from (select rownum rn,t.* from emp t) where rn in(2,4,6,8,10);
select t.* from (select rownum rn,a.* from tabname a ) t where exists( select 1 from ( select rownum*n rn from dual connect by rownum<n --or select power(n,rownum) rn from dual connect by rownum<n ) b where b.rn=t.rn )
这种需求较独特哈,想要随机取吗?如果是,可用dbms_random.value 随机取10条:select * from (select tt.* from tt order by dbms_random.value) where rownum<=10;
楼主好像没有说明第N条,是按什么规则下的第N条 数据库本身是没有第N条之说的,要怎么取都看自己了
--要是没有其他的要求就这样试试 select col1,col2 from (select col1,col2,...rownum rn from tb) where rn in(select rn*n from (select rownum rn from tb))
select * from (select rownum rn,t.* from emp t) where rn in(2,4,6,8,10);
where exists(
select 1 from (
select rownum*n rn from dual connect by rownum<n
--or select power(n,rownum) rn from dual connect by rownum<n
) b
where b.rn=t.rn
)
随机取10条:select * from (select tt.* from tt order by dbms_random.value) where rownum<=10;
数据库本身是没有第N条之说的,要怎么取都看自己了
select col1,col2
from (select col1,col2,...rownum rn from tb)
where rn in(select rn*n from (select rownum rn from tb))