Oracle:
select * from (select * from tableName order by dbms_random.value) where rownum < N
eg: select * from (select * from t_bd_person order by dbms_random.value) where rownum <= 5
MS SQLServer:
select top N * from tableName order by newid()
My SQL:
select * from tableName order by rand() limit N
eg:select * from t_bd_person order by rand() limit 5
转自:http://blog.youkuaiyun.com/senton/article/details/4404101

本文介绍了在Oracle、MSSQLServer及MySQL三种不同数据库中实现随机抽取N条记录的方法。对于Oracle使用了dbms_random.value结合orderby进行排序,MSSQLServer利用newid()函数,而MySQL则直接使用rand()函数配合limit关键字。
498

被折叠的 条评论
为什么被折叠?



