从zyz2表中随机取出两条纪录: SQL> select * from zyz2; ID P1 P2 ---------- ---------- ---------- 1 211 212 2 12 14 4 241 242 2 145 1 11 3 17 26 rows selected.Elapsed: 00:00:00.50 SQL> select id,p1,p2 from (select zyz2.*,dbms_random.random num from zyz2 order by num) where rownum<3; ID P1 P2 ---------- ---------- ---------- 2 12 14 1 211 212Elapsed: 00:00:00.30 SQL> select id,p1,p2 from (select zyz2.*,dbms_random.random num from zyz2 order by num) where rownum<3; ID P1 P2 ---------- ---------- ---------- 3 17 2 2 12 14 8i以上 select * from (select * from ur_table order by sys_guid()) where rownum<n; select * from (select * from ur_table order by dbms_random.value) where rownum<n;
哈哈,我搞定了。 select * from (select * from table order by dbms_random.random) where rownum>=0 and rownum <=n;
我现在想随机取出特定条数记录该怎么办啊,
我发现ROWNUM是固定的记录(好象是最后N条)。
////////////
还有分数怎么给呀?你收到没有啊?老贝
SQL> select * from zyz2;
ID P1 P2
---------- ---------- ----------
1 211 212
2 12 14
4 241 242
2 145
1 11
3 17 26 rows selected.Elapsed: 00:00:00.50
SQL> select id,p1,p2 from (select zyz2.*,dbms_random.random num from zyz2 order
by num) where rownum<3; ID P1 P2
---------- ---------- ----------
2 12 14
1 211 212Elapsed: 00:00:00.30
SQL> select id,p1,p2 from (select zyz2.*,dbms_random.random num from zyz2 order
by num) where rownum<3; ID P1 P2
---------- ---------- ----------
3 17 2
2 12 14
8i以上
select * from (select * from ur_table order by sys_guid()) where rownum<n;
select * from (select * from ur_table order by dbms_random.value) where rownum<n;
select * from (select * from table order by dbms_random.random) where rownum>=0 and rownum <=n;