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

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语句就可以轻松实现随即取任意记录.

分享到:
评论

相关推荐

    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-Front 5.1 注册码

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

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

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

    MySQL5.1.rar_my sql_my sql5

    MySQL 5.1是MySQL数据库管理系统的一个重要版本,它提供了许多功能增强和性能优化,尤其对开发者来说,是一份非常有价值的资源。这份"MySQL5.1.rar"压缩包包含了MySQL 5.1的中文帮助文档,是学习和使用MySQL 5.1的...

    mysql5.1.rar_my sql_my sql api

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

    SQLDelta.v5.1.rar

    SQLDelta.v5.1.1.98.Cracked sql数据库比较工具 安装后覆盖即可

    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开发利器:SQL_Prompt5.1破解版及安装教程

    适用于 Visual Studio 和 SQL Server Management Studio SQL Prompt的代码智能提示很灵敏。在输入关键字时,会自动格式化,如你输入的是小写,它会自动帮你转换为大写的,不需要再写关键字和普通单词时来回地切换...

    SQL Prompt 5.1.8.2 完美破解补丁

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

    RedGate SQL Prompt 5.1.8.2

    RedGate SQL Prompt 5.1.8.2 安装文件

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

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

    HeidiSQL_5.1

    总的来说,HeidiSQL_5.1作为一个轻量级、免安装的MySQL客户端,不仅为用户提供了一个直观易用的界面来管理和操作MySQL数据库,还具备高效、便携和安全的特点,是数据库管理员和开发者的得力工具。

    SQLDelta5.1.zip

    在SQLDelta 5.1版本中,用户可以快速识别出数据库之间的细微差别,并进行便捷的更新操作,确保数据的一致性和准确性。 1. **数据库比对功能**:SQLDelta的核心功能是对比两个数据库的结构差异,这包括字段数量、...

    SQL Assistant v5.1.7.0

    有人说这个不能用,我再说明详细点,先运行sqlassist_setup.exe进行安装,然后运行sql.assistant.v5.1.7.0-patch.exe进行破解,点path按钮,会提示选择对应的exe文件,请选择你安装刚才安装文件的路径下的exe文件就...

    基于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 Prompt V 5.1.8.2终极破解版

    步骤3:复制RedGate.SQLPrompt.SSMSUI.dll和RedGate.SQLPrompt.VSUI.dll两个文件到安装目录下并替换掉原文件 第4步:运行Register.bat 第5步:注册完成。 如果对你有用,请支持正版。相信你懂得,祝你好运

    RedGate.SQL.Prompt 5.1 完美破解版

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

    SQLDelta.v5.1.1.98.sqlserver

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

Global site tag (gtag.js) - Google Analytics