-- oracle 随机取出10条数据
SELECT * FROM (
SELECT * FROM acc_nbr ORDER BY trunc(dbms_random.value(1,11))
) WHERE ROWNUM <=10
-- dbms_random.value(); 是一个可以生成随机数或者字符串的程序包,
-- 1.没有参数的会返回一个具有38位精度的数个,从0.0-1.0,但不包含1.0
select dbms_random.value() from dual ;
-- 2.带有两个参数的,第一个指下限,第二个指上限,将会生成在下限到上限范围内的数---- 值,但不包含上限
select trunc(dbms_random.value(1,11)) from dual; -- 相当于 1<=x<11
--2.mysql 随机取出10条数据
select * from table_name order by rand() limit 10 ;
--3.sqlserv 随机取出10条数据
select top 10 * from table_name order by newId();
SELECT * FROM (
SELECT * FROM acc_nbr ORDER BY trunc(dbms_random.value(1,11))
) WHERE ROWNUM <=10
-- dbms_random.value(); 是一个可以生成随机数或者字符串的程序包,
-- 1.没有参数的会返回一个具有38位精度的数个,从0.0-1.0,但不包含1.0
select dbms_random.value() from dual ;
-- 2.带有两个参数的,第一个指下限,第二个指上限,将会生成在下限到上限范围内的数---- 值,但不包含上限
select trunc(dbms_random.value(1,11)) from dual; -- 相当于 1<=x<11
--2.mysql 随机取出10条数据
select * from table_name order by rand() limit 10 ;
--3.sqlserv 随机取出10条数据
select top 10 * from table_name order by newId();
随机抽取数据库记录
本文介绍如何使用Oracle、MySQL及SQL Server三种数据库系统实现随机抽取10条数据的方法。Oracle中利用dbms_random.value()生成随机数配合ORDER BY及ROWNUM进行筛选;MySQL使用ORDER BY RAND()结合LIMIT;SQL Server则通过ORDER BY NEWID()与TOP指令完成。
174万+

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



