如何从Oracle DB中选择任何随机的单行

时间:2018-10-18 13:36:33

标签: oracle

我需要从oracle数据库中选择一个随机的单个数据。 “随机”不是任何数据,而是从查询中检索到的数据列表中的任何数据。我使用下面的查询来列出离散数据,但是我只需要显示一个就可以了,并不是全部响应。

ftBinary

这将显示所有具有“活动”状态和Id =“ 1”的不同用户名。但是我需要它来显示任何一个随机用户名。请帮帮我!

Oracle Sql Developer版本4.0.2.15和内部版本15.21

1 个答案:

答案 0 :(得分:0)

使用DBMS_RANDOM.RANDOM

select * from (
    select distinct name
    from billing_account
    where user_status = 'Active'
    and user_id ='1'
    order by DBMS_RANDOM.RANDOM
)
where rownum = 1;

更新

我看到DBMS_RANDOM.RANDOM现在已被弃用。一种替代方法是使用DBMS_RANDOM.VALUE

select * from (
    select distinct name
    from billing_account
    where user_status = 'Active'
    and user_id ='1'
    order by DBMS_RANDOM.VALUE
)
where rownum = 1;