我有一个类似这样的表:http ://sqlfiddle.com/#!2/8c877
例如,假设它是由“用户”完成的“活动”表。
从表中为每个 user_id 选择一个随机行的最有效方法是什么?
例如,给定上表,我的选择将返回 5 行。user_id
3个1个,4个1个,8个1个,23个1个,90个1个。
我在这个应用程序中使用 PHP,所以我在想的一件事就是查询所有活动的位列表,然后在 PHP 中循环遍历它们,并以这种方式随机拉出每个 user_id 的一行。这将导致只对 MySQL 服务器进行一次 SELECT 调用。
或者,我认为这可以在一系列子选择中完成,但我不确定如何设置语法。而且我不确定这是否会更慢......