暂时记录下: SELECT * FROM `kw_user` AS t1 JOIN ( SELECT ROUND( RAND( ) * ( ( SELECT MAX( id ) FROM `kw_user` ) - ( SELECT MIN( id ) FROM `kw_user` ) ) + ( SELECT MIN( id ) FROM `kw_user` ) ) AS id ) AS t2 WHERE t1.id >= t2.id AND 加上删选条件 ORDER BY t1.…
SELECT * FROM tablename AS r1 JOIN (SELECT ROUND(RAND() *(SELECT MAX(id)FROM tablename)) AS id) AS r2 WHERE r1.id >= r2.id ORDER BY r1.id ASC LIMIT 10000; SELECT * FROM tablename ORDER BY rand() LIMIT 5 第一种速度比第二种快的多…
随机提取10条记录的例子: Sql server: select top 10 * from 表 order by newid() Access: SELECT top 10 * FROM 表 ORDER BY Rnd(id) Rnd(id) 其中的id是自动编号字段,可以利用其他任何数值来完成 比如用姓名字段(UserName) SELECT top 10 * FROM 表 ORDER BY Rnd(len(UserName)) MySql: Select * From 表 Order By…
--从MySQL随机选取数据 -------------------------2014/06/23 从MySQL随机选取数据最简单的办法就是使用”ORDER BY RAND()”; 方案一: SELECT * FROM `table` ORDER BY RAND() LIMIT 0,1; 这种方法的问题就是非常慢.原因是因为MySQL会创建一张零时表来保存所有的结果集,然后给每个结果一个随机索引,然后再排序并返回. 有几个方法可以让它快起来. 基本思想就是先获取一个随机数,然后使用这个随机数来…
oracle 中随机取一条记录的两种方法 V_COUNT INT:=0; V_NUM INT :=0; 1:TBL_MYTABLE 表中要有一个值连续且唯一的列FID BEGIN SELECT COUNT(*) INTO V_COUNT FROM TBL_MYTABLE; SELECT TRUNC(DBMS_RADOM.VALUE(1,V_COUNT+1)) INTO V_NUM FROM DUAL; SELECT * FROM TBL_MYTABLE T WHERE T.FID=V_NUM;…