MySQL RAND() 种子值几乎重复

2023-12-08

在 Windows 7 上使用 MySQL 5.6.21。

我试图从按日期播种的表中返回“随机”行(因此同一行返回当天,然后切换第二天等 - 如果您愿意,可以是“当天生成器的随机引用”)。

我注意到相同的行不断出现,因此我将查询简化为基础,看来 RAND() 函数生成very每四个种子值都有相似的数字。当四舍五入为整数时,这些值似乎每四个种子重复一次。此示例仅使用 16 行,但您已经明白了。

create table t (i INT);

insert into t values(0),(1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13),(14),(15);

select i, ceil(rand(i) * 16), rand(i) from t;

drop table t;

Gives...

0   3   0.15522042769493574
1   7   0.40540353712197724
2   11  0.6555866465490187
3   15  0.9057697559760601
4   3   0.15595286540310166
5   7   0.40613597483014313
6   11  0.6563190842571847
7   15  0.9065021936842261
8   3   0.15668530311126755
9   7   0.406868412538309
10  11  0.6570515219653505
11  15  0.907234631392392
12  3   0.15741774081943347
13  7   0.40760085024647497
14  11  0.6577839596735164
15  15  0.9079670691005579

不是我所期望的,那么我做错了什么?我期望生成一个伪随机序列。


根据文档,只有当 n 恒定时,RAND(n) 才能正常工作。使用非常量参数的效果是未定义的。从 MySQL 5.0.13 开始,不允许使用非常量参数。

正如他们所说RAND() 并不意味着是一个完美的随机生成器。这是一种按需生成随机数的快速方法,可在相同 MySQL 版本的平台之间移植。

MySQL 文档

检查如果使用不带参数的 RAND() 会发生什么。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL RAND() 种子值几乎重复 的相关文章

  • 如何在MySQL中查找上周的数据

    我想显示来自 Q1 每个学生只有最后一周 Q2 每个学生只有最后一个月 我怎样才能实现这个目标 一周演示 http sqlfiddle com 2 f1fbb 3 当月演示 http sqlfiddle com 2 f1fbb 4 CREA
  • MySQL 中的断言

    我有一个针对大型数据库运行的 SQL 脚本 我想在开始时提出几个简单的查询 作为健全性检查 有没有办法在MySQL中写断言 或者任何类型的 选择 如果它与该值不匹配 则中止整个脚本 一些疯狂的代码 要点是 SET可能会引发 mysql 变量
  • Spark SQL/Hive 查询通过 Join 永远持续下去

    所以我正在做一些应该很简单的事情 但显然它不在 Spark SQL 中 如果我在 MySQL 中运行以下查询 查询将在不到一秒的时间内完成 SELECT ua address id FROM user u inner join user a
  • 物理写入文件已满 - mysql 错误

    我正在使用xampp 每次启动mysql时 我都会在xampp中收到以下错误 Error MySQL shutdown unexpectedly 13 16 14 mysql This may be due to a blocked por
  • 在 MySQL 中将行转置为列

    如何在 MySQL 查询中将行转换为列 您可以将行变成a列与GROUP CONCAT 但您无法以任何自动方式转置整个结果集 您可以编写手动生成每一列的查询 也可以在应用程序中执行此操作 以下是有关编写复杂查询来模拟转置的教程 http ww
  • 更新重复密钥上的复合密钥 [重复]

    这个问题在这里已经有答案了 我需要更新新行 如果两者都满足 date dat and empId who 作为复合键 但如果其中之一或两者不同 则插入 sql INSERT INTO history SET endtimestamp now
  • 本地数据库缓存的最佳实践?

    我正在开发一个应用程序 该应用程序的部分内容依赖于 MySQL 数据库 在某些情况下 应用程序将在互联网连接 UMTS 有限的环境中运行 特别是延迟较高的环境 应用程序的用户能够登录 并且应用程序用户界面的大部分内容都是从 MySQL 数据
  • Clojure MySQL 语法错误异常(“[...] 靠近 '???????????????' [...]”)

    除了建立连接之外 我在使用 clojure contrib sql 做任何事情时都遇到困难 我有一个 mysqld 在 localhost 3306 上运行 数据库名为clj db 用户 clj user localhost 和密码 clj
  • SQL:查找每个跑步者跑步之间的平均天数

    因此 如果我们给出下表 runner ran Carol 2011 02 01 Alice 2011 02 01 Bob 2011 02 01 Carol 2011 02 02 Bob 2011 02 02 Bob 2011 02 03 B
  • SQLSTATE[HY000] [2002] 资源暂时不可用 - mysql - innodb 和 pdo

    在我的错误日志中得到大量结果 如下所列 数据库中的所有表都是 innodb 并且就与这些表的任何交互而言 一切都是带有准备好的语句的 pdo 正如我所说 所有错误几乎与下面列出的错误相同 但发生在几个不同的页面上 无论页面如何 错误行始终指
  • 在 MySQL 数据库上使用版本控制 (Git)

    我是一名 WordPress 设计师 开发人员 越来越多地使用版本控制 特别是 Git 尽管我确实在某些项目中使用 SVN 我目前正在使用 Beanstalk 作为我的远程仓库 将所有 WordPress 文件添加到我的存储库中是没有问题的
  • 如何在数据库中保存未来(!)日期

    这个问题专门涉及未来的日期和时间 对于过去的值 UTC 无疑是首选 我想知道是否有人对拯救生命的 最佳 方法有建议futureMySQL 数据库中的日期和时间 或者就此而言一般来说 特别是在该列可以保存不同时区时间的情况下 考虑到时区规则可
  • 如何在 MacOS 上卸载 Mysql Shell

    我错误地安装了 MySql Shellhttps dev mysql com doc mysql shell 8 0 en https dev mysql com doc mysql shell 8 0 en 在我的 MacBook Pro
  • MYSql 前 10 名及其他总计

    我的查询运行良好 但我只需要前 10 个供应商 然后我需要将所有剩余的总计放在 所有其他 行中 如果没有单独的查询 我该如何做到这一点LIMIT 10 18446744073709551615 SELECT VENDOR fullname
  • 如何编写 bash 函数来包装另一个命令?

    我正在尝试编写一个函数包装器mysql command If my cnf存在于 pwd 中 我想自动附加 defaults file my cnf到命令 这就是我正在尝试的 function mysql if e my cnf then
  • 1:1 关系中的双向外键约束

    我正在使用 MySQL 数据库 在我的关系数据模型中 我有两个相互 1 1 关联的实体 在我的架构中 通过将 FK 字段放入两个表之一中来建立 1 1 关系 该字段与另一个表的 PK 相关 两个表都有 PK 并且都是自动递增的 BIGINT
  • 创建rest api url以连接mysql数据库

    我想学习如何创建一个rest api url 以便我可以使用该url获取信息并将信息发布到我的mysql数据库中 谷歌搜索了很多并阅读了各种文章 但没有找到任何精确的内容可以学习 所有内容均以 about api 开头 以已创建的其余 ur
  • PHP + MySQL 队列

    我需要一个充当队列的简单表 我的 MySQL 服务器限制是我不能使用 InnoDB 表 只能使用 MyISAM 客户 工人将同时工作 他们每次都需要接受不同的工作 我的想法是执行以下操作 伪代码 job lt SELECT FROM que
  • 未知的表引擎“InnoDB”

    最近 我发现如果我有好的硬件 我可以最大限度地提高 mysql 的性能 由于我一直在使用 InnoDB 所以我在 my ini 中添加了额外的配置 以下是新添加的配置 innodb data file path ibdata1 10M au
  • MySQL 中的 group_concat 性能问题

    我添加了一个group concat到一个查询并杀死了性能 添加之前和之后的解释计划是相同的 所以我对如何优化它感到困惑 这是查询的简化版本 SELECT curRow curRow 1 AS row number docID docTyp

随机推荐

  • Android 应用内购买“您请求的商品无法购买”错误

    我正在研究应用内计费 从最近几天开始 我就陷入了困境 我已经为我的应用程序创建了产品列表 该列表在市场上保存为草稿 但是当我在设备上运行我的应用程序时 它给我一个错误 您请求的项目无法购买 有人可以帮我解决这个问题吗 这可能是因为开发者无法
  • 我可以在运行 MVC3 应用程序的情况下对 .NET 4 进行 bin 部署和 MVC4 吗?

    我在共享托管服务器上有一个 MVC3 应用程序 想通过创建一个新的 MVC4 项目并复制我的内容来升级该项目 当我发布 MVC4 应用程序的文件系统时 是否会发布所需的依赖项 或者服务器上是否有 GAC 等要求 我将使用 NET 4 我已经
  • 当点击 HTTPS 时 file_get_contents() 返回“无法打开流”

    当我在 HTTPS URL 上调用 file get contents 时 它返回 无法打开流 Warning file get contents https google com function file get contents fa
  • 在 Objective C 中使用 ivars 与 Properties 的原因

    我一直无法找到有关此主题的任何信息 并且我所了解的大部分信息完全是偶然的 并且花了几个小时试图找出我的代码无法正常工作的原因 在学习 Objective C 的大多数教程时 我发现变量和属性具有相同的名称 我不明白其重要性 因为似乎该属性完
  • Devise 无法在 Google Chrome 中登录

    我正在使用 Devise gem 在 Ruby on Rails Web 应用程序中进行用户身份验证 该过程非常简单 但是 添加 Nginx 和 ssl 证书后 该应用程序可以在 Mozilla Firefox 中登录 但无法在 Googl
  • jQuery Datepicker - 根据它出现的位置添加类

    我需要在输入元素中添加一个 上方 或 下方 类 具体取决于日期选择器在哪一侧打开 我似乎无法弄清楚如何获取即将创建的日期选择器实例的位置 也许我只是想错了 order main datepicker datepicker showOn bo
  • @font-face 自定义图标字体仅显示 unicodes

    我正在使用 CSS3 的 font face 自定义图标字体 并且在旧版本的 Google Chrome 中 仅显示 unicode 并且不会在我的自定义字体中替换或呈现 该字体显示这些 un icode 的字形 这是我正在使用的 font
  • “使用命名空间 std;”没有任何#include? [复制]

    这个问题在这里已经有答案了 我尝试遵循 它工作没有问题 但在这种情况下 std 没有定义 using namespace std int main 你的代码是非法的 指示using只能提名先前声明的命名空间 即可以通过名称查找找到名称的命名
  • 删除 div 时的 Bootstrap 网格布局

    因此 我正在使用一个仪表板外观 它可能有四个可以打开的 方块 并且角色取决于用户角色 顶行通常保留原样 因此其宽度约为 30 另一行的宽度约为 70 这可以 但是 在仪表板的底行 您可以有两个正方形 当这两个都打开时 我当前的网格设置工作得
  • 过滤对象中的多个值

    我需要按多个值过滤对象 对象示例 items url https id 1693 type ABC currencyCode SEK longName Abc name ABC micCode DEF listingDate 2018 05
  • 使用 numpy 进行数组重新分类

    我有一个包含 10 位数字的大型 50000 x 50000 64 位整数 NumPy 数组 数组中大约有 250 000 个唯一数字 我有第二个重新分类表 它将第一个数组中的每个唯一值映射到 1 到 100 之间的整数 我希望将第一个数组
  • 无法从 Orchard 模块中的项目文件夹加载图像

    我正在尝试在 Orchard 模块中插入图像 但遇到了一些问题 img src Href Modules Orchard Slider Content img other jpg gt 在我看来 我写了这个 但是图像没有加载 它说找不到资源
  • 如何修复 jslint The '&&' subexpression should bewrapped in parens 错误

    我将所有内容都放在括号中 但下面的代码仍然在 jslint 中抛出错误 Problem at line 5 character 104 The subexpression should be wrapped in parens if typ
  • .htaccess 导致所有页面被下载

    我添加了以下行 htaccess AddType application x httpd php html htm 当我尝试加载侧面的任何页面时 我的浏览器会尝试下载该页面 我究竟做错了什么 Thanks 最有可能的 您没有为您的网络服务器
  • 将 JLabels 置于 JPanel 中心

    我正在制作一个记分程序 但遇到了问题 我试图做的是在顶部有一个 JPanel 其中包含两个 JPanel 而 JPanel 又包含两个团队名称 我很困惑为什么程序顶部的两个 JLabel 没有位于它们所包含的 JPanel 内部的中心 im
  • c_str 的使用是否带有异常未定义行为?

    我见过几个类似的代码片段 如下所示 struct MyExcept std exception explicit MyExcept const char m noexcept message m const char what const
  • 如何运行在关闭 PuTTY SSH 会话后仍然运行的 Linux 命令?

    我通过 putty 连接到我的 NAS 它在上面运行 Linux 我想将一个大目录从一个位置移动到另一个位置 关闭 Putty 会话后是否可以保持进程运行 我担心如果我关闭腻子 文件将不会被复制到最后 使用 nohup 开始任务 并使用 将
  • jQuery ui 选项卡中的多个 jQgrid

    我遇到一个问题需要帮助 我有 3 个 jQueryUI 选项卡 第一个包含项目网格 第二个保存工单网格 第三个只是发出警报以验证显示功能是否正常工作 问题是我在第二个选项卡上没有网格 第一个负载正常 如果我注释掉第一个选项卡的代码 第二个网
  • Ruby on Rails:自定义操作

    我是rails新手 所以我向你解释一下我的情况 我有一个用户模型和一个用户控制器 用户使用电子邮件地址和密码登录 特殊用户可以通过在表单中 输入受邀者的电子邮件地址并点击提交来邀请其他用户 然后 受邀用户会收到一封邮件 其中包含用于激活其帐
  • MySQL RAND() 种子值几乎重复

    在 Windows 7 上使用 MySQL 5 6 21 我试图从按日期播种的表中返回 随机 行 因此同一行返回当天 然后切换第二天等 如果您愿意 可以是 当天生成器的随机引用 我注意到相同的行不断出现 因此我将查询简化为基础 看来 RAN