从数据库某个表查询随机查询10条(或N条)数据的方法

转载 2015年11月17日 22:33:03

方法1:最简单的,网上说查询时间长,数据量少的话,使用该方法,不会出错,也不会重复查询。

 select * from t_fb order by rand() limit 10

方法2: 网上说时间短,比较好。但是我的数据量少的情形下,查的数据会少于10条。

SELECT * FROM t_fb  WHERE id >= ((SELECT MAX(id) FROM t_fb )-(SELECT MIN(id) FROM t_fb )) * RAND() + (SELECT MIN(id) FROM t_fb )  LIMIT 10;

该方法说了在数据量少的情形下,查的数据会少于10条。分析一下原因:

(SELECT MAX(id) FROM t_fb ) 查询id的最大值

(SELECT MIN(id) FROM t_fb ) 查询id的最小值

相减乘以一个随机数 再加上id的最小值,以保证生成的数在最大值和最小值之间, 
现在假设MAX(id)为15,生成的随机数为10,那么由于id>=10,所以查询到的行数会少于10.

方法3 .SELECT *  FROM  t_fb as t1 JOIN (SELECT RAND()*10 AS nid) t2 ON t1.id>t2.nid GROUP BY t1.id LIMIT 10

也会有方法2的问题,然后查询出来的值都是连起来的

相关文章推荐

从Mysql某一表中随机读取n条数据的SQL查询语句

若要在i ≤ R ≤ j 这个范围得到一个随机整数R ,需要用到表达式 FLOOR(i + RAND() * (j – i + 1))。例如, 若要在7 到 12...

从Mysql某一表中随机读取n条数据的SQL查询语句

从 Mysql 表中随机读取数据不难,方法还挺多的,但是如果要考虑效率,得到一个快速的高效率的方法 随机获得Mysql数据表的一条或多条记录有很多方法,下面我就以users(userId,use...

oracle 用rownum方法查询最近更新的n条数据

查询最近2小时跟新的记录 Select * From book  Where  update_time > sysdate-2/24 sysdate+(5/24/60/60) 在系统时间基础上延迟...

Oracle查询重复数据的N种方法

1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (select   peopleId...

Oracle数据库中大数据量查询优化问题--分区表的操作方法

Oracle数据库中大数据量查询优化问题--分区表的操作方法Oracle数据库中分区表的操作方法  摘要:在大量业务数据处理的项目中,可以考虑使用分区表来提高应用系统的性能并方便数据管理,本文详细介绍...
  • rise51
  • rise51
  • 2011-03-27 20:33
  • 1694

Oracle数据库中大数据量查询优化问题 -- 分区表的操作方法

Oracle数据库中分区表的操作方法    摘要:在大量业务数据处理的项目中,可以考虑使用分区表来提高应用系统的性能并方便数据管理,本文详细介绍了分区表的使用。     在大型的企业应用或...

从数据库随机查询出一批数据并排序输出——C#中DataTable技术学习

//============================================================= //功能: 根据状态获得相关的信息 //参数: nT...

oracle_随机抽取N条数据

一、Oracle取随机数据  1、Oracle访问数据的基本方法: 1)、全表扫描(Full table Scan): 执行全表扫描,Oracle读表中的所有记录,考查每一行是否满足WHERE...

Oracle,Mysql 随机获取N条数据

当我们获取数据时,可能会有这样的需求,即每次从表中获取数据时,是随机获取一定的记录,而不是每次都获取一样的数据,这时我们可以采取Oracle内部一些函数,来达到这样的目的 方法1: select * ...

MSSQL、MYSQL,ACCESSl,Oracle随机读取N条记录方法

出处:http://www.cnblogs.com/Athrun/archive/2009/04/25/1443619.html 随机取出n条记录: Sql server:select top...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)