Oracle:
select * from (select * from tableName order by dbms_random.value) where rownum < N
MS SQLServer:
select top N * from tableName order by newid()
My SQL:
select * from tableName order by rand() limit N
本文介绍了如何在Oracle、MSSQL Server及MySQL三种不同的数据库中使用SQL语句随机选取指定数量的记录。对于Oracle,可以通过结合orderby子句与dbms_random.value函数实现;MSSQL Server则利用orderby newid()直接完成;MySQL采用orderby rand()配合limit关键字达成目的。
Oracle:
select * from (select * from tableName order by dbms_random.value) where rownum < N
MS SQLServer:
select top N * from tableName order by newid()
My SQL:
select * from tableName order by rand() limit N

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