【发布时间】:2019-03-25 05:12:00
【问题描述】:
我需要从一个非常大的数据库中随机选择 2000000 条记录。我看了以前的问题。所以请不要将此问题标记为重复。我需要澄清。大多数答案建议使用 ORDER BY RAND() 函数。所以我的查询是:
SELECT DISTINCT no
FROM table
WHERE name != "null"
ORDER BY RAND()
LIMIT 2000000;
我希望随机选择每条记录。我不确定我是否理解这里的ORDER BY RAND() 效果。但我担心它会选择一个随机记录,比如 3498 并从那里继续选择,比如下一个记录将是:3499、3500、3501 等。
我希望每个记录都是随机的,而不是从随机记录开始排序。
如何选择 2000000 条随机记录,其中每条记录都是随机选择的?你能简化一下ORDER BY RAND() 的作用吗?
请注意,我使用的是 Google BigQuery,因此性能问题在这里应该不是大问题。我只是想实现选择随机2000000条记录的要求。
【问题讨论】:
-
我认为您使用的是 BigQuery 而不是 MySQL。请尽量说清楚
-
我在 BigQuery 中使用 MySQL 查询。
标签: mysql database select random google-bigquery