`
yzgfbj
  • 浏览: 78475 次
  • 来自: ...
社区版块
存档分类
最新评论

my Sql 5.1随即取出指定个数记录

阅读更多
今天项目中碰到,要随即取出个数记录,数据库mySql5.1
开始思考用java前台实现,但是要经历一个循环,而且要先拿出总记录数,感觉效率太低.所以就查找mySql文档发现有这样的功能,文档如下:
RAND() RAND(N)
返回一个随机浮点值 v ,范围在 0 到1 之间 (即, 其范围为 0 ≤ v ≤ 1.0)。若已指定一个整数参数 N ,则它被用作种子值,用来产生重复序列。 

mysql> SELECT RAND();

        -> 0.9233482386203

mysql> SELECT RAND(20);

        -> 0.15888261251047

mysql> SELECT RAND(20);

        -> 0.15888261251047

mysql> SELECT RAND();

        -> 0.63553050033332

mysql> SELECT RAND();

        -> 0.70100469486881

mysql> SELECT RAND(20);

        -> 0.15888261251047

若要在i ≤ R ≤ j 这个范围得到一个随机整数R ,需要用到表达式 FLOOR(i + RAND() * (j – i + 1))。例如, 若要在7 到 12 的范围(包括7和12)内得到一个随机整数, 可使用以下语句:

SELECT FLOOR(7 + (RAND() * 6));

在ORDER BY语句中,不能使用一个带有RAND()值的列,原因是 ORDER BY 会计算列的多重时间。然而,可按照如下的随机顺序检索数据行:

mysql> SELECT * FROM tbl_name ORDER BY RAND();

ORDER BY RAND()同 LIMIT 的结合从一组列中选择随机样本很有用:

mysql> SELECT * FROM table1, table2 WHERE a=b AND c<d

    -> ORDER BY RAND() LIMIT 1000;

注意,在WHERE语句中,WHERE每执行一次, RAND()就会被再计算一次。

RAND()的作用不是作为一个精确的随机发生器,而是一种用来发生在同样的 MySQL版本的平台之间的可移动ad hoc随机数的快速方式。

就是这个Rand()函数,配合limit语句就可以轻松实现随即取任意记录.

分享到:
评论

相关推荐

    My SQL 5.1 中文版文档

    总的来说,MySQL 5.1 中文版文档涵盖了数据库设计、安装配置、SQL语法、存储引擎、备份恢复、复制与集群、性能优化、安全管理等多个方面的内容。对于开发者和数据库管理员来说,这是一份非常全面且实用的参考资料,...

    SQL Prompt v5.1.8.2

    SQL Prompt v5.1.8.2

    SQL-Front 5.1 注册码

    SQL-Front 5.1 是一款优秀的数据库管理工具,具备轻量化设计、高效性、用户友好和安全保障等优势。正确使用注册码可以激活软件所有功能,提升数据库管理效率。在输入注册码时,务必按照指南操作,确保软件正常运行。

    5.1单表查询-讲课记录.sql

    5.1单表查询-讲课记录.sql

    mysql5.1.rar_my sql_my sql api

    MySQL 5.1是MySQL数据库管理系统的一个重要版本,它提供了许多功能和改进,适用于各种规模的应用网站开发。MySQL API(应用程序编程接口)是用于与MySQL数据库进行交互的一组函数和接口,让开发者能够轻松地在应用...

    RedGate.SQL.Prompt.v.5.1.8.2完美破解版

    RedGate.SQL.Prompt.5.1.8.2最新完美破解版 Visual Studio 和 SQL Server Management Studio 均破解 RedGate SQL Prompt 5.1.8.2 SQL Prompt”充斥着的特点,采取日常工作与SQL出来的,离开你把重点放在棘手位。 ...

    SQL_Prompt_5.1完全破解+使用教程

    SQL_Prompt_5.1完全破解+使用教程

    IIS5.1安装SQLserver必备

    标题"IIS5.1安装SQLserver必备"表明我们要讨论的主题是关于在运行IIS5.1(Internet Information Services 5.1)的环境下安装SQL Server的相关步骤和注意事项。IIS5.1是微软Windows XP Professional操作系统中的Web...

    SQL开发利器SQL Prompt 5.1 使用教程

    SQL Prompt 5.1 中一些教程使用教程。

    SQL Prompt 5.1.8.2 完美破解补丁

    SQL Prompt 5.1.8.2 完美破解补丁。试过多个破解补丁,最后终于找到了这个可以破解的,亲测可用。 压缩包内包含SQL Prompt 5.1.8.2原版安装文件和破解文件。 破解步骤如下: 1:安装原程序,记住必须是5.1.8.2版 2...

    基于Java、Shell、Python语言的BenchmarkSQL 5.1版本TPCC性能测试工具源码

    该工具支持75个文件,包括19个SQL脚本、13个Shell脚本、11个Java源文件、10个JAR包文件、8个R脚本文件、2个Git忽略文件以及其他类型的文件。该版本新增了对MySQL、MariaDB、Percona、GreatSQL等MySQL系数据库的支持...

    SQL语句,取出一个数据表的所有列名

    通过编写一个SQl语句,获取指定的数据表的所有数据列的列名。

    sql delta 5.1.2.1 数据库 破解版

    经典的数据库对比软件,绝对可用。

    SQLDelta.v5.1.1.98破解版

    强大的sqlserver 比对工具,亲测破解版,绝对可用

    vCenter5.1连接外置SQL

    vCenter 5.1 版本引入了连接外置 SQL Server 数据库的功能,使得用户可以根据需求扩展和优化其数据中心的管理架构。下面我们将详细探讨如何配置 vCenter 5.1 与外置 SQL Server 进行连接。 首先,安装 SQL Server ...

    RedGate.SQL.Prompt 5.1 完美破解版

    完美破解版 智能提示 格式化 规范化语句编写 …… 总之好处大大的 适用于2000以上版本 要有SqlServer的图形化管理工具哦 O(∩_∩)O~

    SQLDelta.v5.1.1.98.sqlserver

    完美注册版,可支持sqlserver 2012,亲测可用,好用给好评。

    SQL Delta.v5.1.1.98最新版本破解版

    SQL Delta.v5.1.1.98最新版本破解版 亲自测试过,有效,安装后,把破解文件覆盖原来的安装路径下即可

    ifix 5.1 通过ODBC把数据存到SQL SERVER

    在IT行业的自动化与数据管理领域,IFIX 5.1作为一个功能强大的监控与数据采集(SCADA)系统,被广泛应用于工业控制环境。其通过开放数据库互连(ODBC)接口,实现与SQL Server数据库的有效数据交换,是数据集成与...

Global site tag (gtag.js) - Google Analytics