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与where rownum<N实现;MSSQL Server则直接使用select top N * from tableName order by newid();而对于MySQL,只需使用select * from tableName order by rand() limit N即可。
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
1440
2379

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