日期:2014-05-16  浏览次数:20614 次

oracle.mysql.sqlserver 随机取出10条数据
-- 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();