select dbms_random.value,t.* from mkt_mission t order by 1;这个sql肯定可以随机了,先对每个搜索出来的记录生成一个random字段,然后对该字段排序。
select * from bak_mkt_award order by dbms_random.value;这个sql和上面的一样,只不过random字段是隐藏的。
大家还有没有效率更高的写法?
本文介绍两种使用Oracle DBMS_RANDOM函数实现SQL随机排序的方法。一种是显式添加随机字段进行排序,另一种则是直接在ORDER BY子句中使用DBMS_RANDOM.VALUE。这两种方法均可达到随机排序的效果,但是否还有更高效的实现方式呢?
select dbms_random.value,t.* from mkt_mission t order by 1;select * from bak_mkt_award order by dbms_random.value;
被折叠的 条评论
为什么被折叠?