从sql查询中获取前3个随机值

时间:2013-12-31 04:53:46

标签: oracle oracle11g oracle10g

我在oracle上写过这个查询

SELECT itemcode,itemname from hmis.shopitemcode order by dbms_random.value

它的工作正常我得到了随机记录,但我的问题是我只想要5个随机记录而不是数据库表中的所有记录

当我尝试使用此查询时

SELECT itemcode,itemname from hmis.shopitemcode where ROWNUM <= 5 order by dbms_random.value

此查询随机化前5条记录,不从整个数据库表中获取5条随机记录

1 个答案:

答案 0 :(得分:3)

希望这有帮助!

select * from (
   SELECT itemcode,itemname from hmis.shopitemcode order by dbms_random.value
)
where rownum <= 5;