Mysql - 如何在大型重复集中随机选择1行,使得每行都有 `equal`的选择机会

标签 mysql random unique

我想弄清楚一件简单的事情:

如何在大型重复集合中随机选择 1 行,以使每行都有相等的选择机会?

例如,一个产品表,每个产品有多个条目,我只想随机选择 1 个。但由于其重复,该人的“机会”不应比其他人多。

一种解决方案是获取唯一列表(使用GROUP BY)并从此子查询获取RANDOM。但对于大型数据集,这不是最佳解决方案,这就是我在这里需要的帮助。

谢谢。

最佳答案

也许将行数作为随机数的基础,然后使用它作为仅选择 1 行的限制范围的基础。

例如LIMIT X,1 其中 x 是随机数。

关于Mysql - 如何在大型重复集中随机选择1行,使得每行都有 `equal`的选择机会,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35692954/

相关文章:

php - 使用 PHP 从 MySQL 表中获取数据

ios - 你可以在 Objective C 中将函数存储在数组中吗?

python - 从随机矩阵生成样本

c# - 随机数生成 - 返回相同的数字

java - 创建一个唯一的对象列表 Java

matlab - 在 MATLAB 中存储向量的唯一字符串/元素的索引

java - 将一个组组合成多个组而不重复

mysql - 如何衡量多少 mysql 连接带来最佳性能?

mysql - 从没有 where 或 on 子句的三个表中选择

Java DbUnit 信息架构 MySQL