oracle 如何随机取一条记录

buku77 2013-05-15 11:15:07
现在有个表,想从中随机取出一条记录 想问下除了 SAMPLE ,还有其他的办法么?我的主键是从序列中生成的。 还有,SAMPLE 这个从表中读取特定百分比的记录 是从全表中随机读取的么,很多资料说 这个取值不平均。
麻烦大家了
...全文
1608 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wushangjimo 2013-05-15
  • 打赏
  • 举报
回复
这是我用的,5w+数据用时0.13s
SELECT * FROM (SELECT * FROM t_enterprise_info order by dbms_random.value) WHERE rownum =1;
u010412956 2013-05-15
  • 打赏
  • 举报
回复
不想用sample 就下面这样喽:
select *
  from (select t.*, row_number() over(order by dbms_random.value) rn
          from t) t
 where t.rn = 1;
u010412956 2013-05-15
  • 打赏
  • 举报
回复
select * from lpsx SAMPLE(1) where rownum=1 我觉得这样应该可以了。
u010412956 2013-05-15
  • 打赏
  • 举报
回复
3#的 方法也 不错
buku77 2013-05-15
  • 打赏
  • 举报
回复
引用 5 楼 u010412956 的回复:
[quote=引用 4 楼 buku77 的回复:] [quote=引用 1 楼 u010412956 的回复:] select * from lpsx SAMPLE(1) where rownum=1 我觉得这样应该可以了。
我先问下 SAMPLE 取的记录 是随机取百分之1么?[/quote] 官方文档已经说的很清楚了,随机取,但不保证一定是1%,有可能是0.9%,有可能是1.1%。。 只能说是在1%上下。 http://docs.oracle.com/cd/E11882_01/server.112/e26088/statements_10002.htm#SQLRF01702[/quote] 好的 我去学习学习 谢谢~~~
buku77 2013-05-15
  • 打赏
  • 举报
回复
引用 2 楼 u010412956 的回复:
不想用sample 就下面这样喽:
select *
  from (select t.*, row_number() over(order by dbms_random.value) rn
          from t) t
 where t.rn = 1;
谢谢 O(∩_∩)O~
buku77 2013-05-15
  • 打赏
  • 举报
回复
引用 2 楼 u010412956 的回复:
不想用sample 就下面这样喽:
select *
  from (select t.*, row_number() over(order by dbms_random.value) rn
          from t) t
 where t.rn = 1;
嗯哈,这个可以 O(∩_∩)O~ 谢谢~~~
u010412956 2013-05-15
  • 打赏
  • 举报
回复
引用 4 楼 buku77 的回复:
[quote=引用 1 楼 u010412956 的回复:] select * from lpsx SAMPLE(1) where rownum=1 我觉得这样应该可以了。
我先问下 SAMPLE 取的记录 是随机取百分之1么?[/quote] 官方文档已经说的很清楚了,随机取,但不保证一定是1%,有可能是0.9%,有可能是1.1%。。 只能说是在1%上下。 http://docs.oracle.com/cd/E11882_01/server.112/e26088/statements_10002.htm#SQLRF01702
buku77 2013-05-15
  • 打赏
  • 举报
回复
引用 1 楼 u010412956 的回复:
select * from lpsx SAMPLE(1) where rownum=1 我觉得这样应该可以了。
我先问下 SAMPLE 取的记录 是随机取百分之1么?

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧