我需要从一个非常大的数据库中随机选择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()
做?
请注意,我使用googlebigquery,因此性能问题在这里应该不是什么大问题。我只想达到随机选择2000000条记录的要求。
1条答案
按热度按时间jutyujz01#
相当于
查询为每行生成一个随机值,然后使用该随机值对行进行排序。如果包含限制:
这将从表中随机选择10行。