Oracle查询结果随机排序(去重,抽检)
方法: Order by DBMS.RANDOM.RANDOM
用法:
(1)对数据去重并且将查询结果随机排序,然后对随机排序的结果进行30%的抽检。
select a,
b,
row_number() over(partition by c order by dbms_random.random) lp
from (
select a,
b,
c,
row_number() over(partition by a order by b) ls
from table
)
where ls = 1
and lp <= 0.3
先对表table的a 字段去重,然后对b字段进行排序,然后再将去重后的结果进行随机排序。最后再取结果集的百分比。
(2)如果对单个字段去重的话可以用distinct.(只有一个字段值不一样,其余字段值均相同)。
select a,
b,
共有 0 条评论