今天遇到这个需求,但是网上只有MySQL的实现,然后自己仿造MySQL语法写出来Oracle的实现方式。

select *
  from (select rank() over(partition by [字段名] order by dbms_random.value) row_num,
               b.*
          from [表名] b)
 where row_num<= [每组随机数量];
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐