如何从表中随机返回n条记录

频道:六六互联 日期: 浏览:357

      

      基于某种目的,想从某表中随机返回n条记录,需要怎么操作呢?为了达到这个目的,通常就是使用DBMS支持的内置函数来生产随机数值,再结合Order by自己来使用函数,对行随机排序,然后再使用前面说过的限制返回行数的技术就可以实现此目的了。比如,再MySQL中,同事使用内置的rand函数、limit和order by,示例如下:

    select ename,job from employee order by rand() limit n.

    其它DB环境中实现此目的的示例参考如下:

    PostgreSQL=>select ename,job from employee order by random() limit n.

     MS SQL=>select top n ename,job from employee order by newid()

     Oracle=>select * from(select ename,job from employee order by dbms_random.value()) where rownum<=n。自己试试吧。