2011-10-05 76 views
0

我有表A有15,000行每个有一个唯一的ID和表B 10,000,000行与表A中的每个唯一ID多行我需要检查表B每个ID从表A中选择1个随机行,并从每个匹配的ID中选择1个随机行。所以一旦查询运行,我将最终得到来自表B的15,000个随机行(每个行都有一个唯一的表A ID)。Mysql从另一个表的所有值的随机行

我认为这对于RAND()单独或一个循环来说太激烈了,所以它必须是一个涉及选择。

看着此,而是只涉及一个表 http://explainextended.com/2009/03/01/selecting-random-rows/

无法调整它做什么,我需要。

+0

另请参阅http://stackoverflow.com/questions/1244555/how-can-i-optimize-mysqls-order-by-rand-function – derobert

回答

0

这样的事情呢?

select distinct b.a_id from b inner join a on a.id = b.id order by rand(10000000) 
相关问题