Php 从mysql随机抽取1000行(不是重复行)的最佳方法是什么?
从mysql随机抽取1000行(不是重复行)的最佳方法是什么Php 从mysql随机抽取1000行(不是重复行)的最佳方法是什么?,php,mysql,random,Php,Mysql,Random,从mysql随机抽取1000行(不是重复行)的最佳方法是什么 Now i use this 1. get all data(id row) in to array. 2. Random position of array 1000 position. 3. i will get 1000 row (not duplicate row) 但是,这是一个非常缓慢的过程 你有没有简单的方法随机获得1000行(不是重复的行)?从评论中你也对理论答案感到满意 如果您的数组中包含所有行,请使用以消除重复行
Now i use this
1. get all data(id row) in to array.
2. Random position of array 1000 position.
3. i will get 1000 row (not duplicate row)
但是,这是一个非常缓慢的过程
你有没有简单的方法随机获得1000行(不是重复的行)?从评论中你也对理论答案感到满意 如果您的数组中包含所有行,请使用以消除重复行,然后使用将它们混合在一起,最后可以使用进行切片 编辑: 当您已经不选择重复行时,您可以对其进行改进,这样您就不必使用
array\u unique()
。用于此用途。如果要在查询中完成所有操作,可以执行以下操作:
SELECT DISTINCT column FROM table
ORDER BY RAND()
LIMIT 1000
如果你不给我们看你的代码,我们只能给你一个理论上的答案,如果你想这样做的话?是的,或者给我一些ex代码。你说的不重复行是什么意思,比如某些列不能有相同的值或者整行不能相同?不重复行是唯一行^^我可以从mysql中随机选择1000个唯一行,通过不使用数组?但它不是随机的?@robertderwe更新了我的答案,当你想在查询中做这类事情时
@robertderwe是的,但我不建议你使用mysql.*