MYSQL从两行中随机选择

MYSQL从两行中随机选择,mysql,select,random,Mysql,Select,Random,有人能帮我解答这个问题吗。 我有这个表格作为样本: 文件表 液体 文件 上传日期为 浏览次数 我想考虑的是前30个最近上传的文件和强> 30个最被查看的文件,然后从它们随机选择< /强>和限制10个/强> < /P> 我是mysql复杂查询的新手。一个示例查询将是很好的,我将能够理解它。 谢谢 哦,天哪,完全一样的答案!!感谢vulkanino和xdazz的回复,非常接近时间回答非常棒。哦,天哪,完全相同的答案!!感谢vulkanino和xdazz的回复,《非常接近的时间》回答得非常棒。or

有人能帮我解答这个问题吗。 我有这个表格作为样本:

文件表

  • 液体
  • 文件
  • 上传日期为
  • 浏览次数
我想考虑的是<强>前30个最近上传的文件和<>强> 30个最被查看的文件,然后<强>从它们随机选择< /强>和<强>限制10个/强> < /P> 我是mysql复杂查询的新手。一个示例查询将是很好的,我将能够理解它。
谢谢

哦,天哪,完全一样的答案!!感谢vulkanino和xdazz的回复,非常接近时间回答非常棒。哦,天哪,完全相同的答案!!感谢vulkanino和xdazz的回复,《非常接近的时间》回答得非常棒。
orderbyrand()
当行数开始增长时,类型解决方案将非常缓慢,只需谷歌搜索
orderbyrand slow
。当然,当从2*30行中选择时,您不会注意到这一点。
ORDER BY RAND()
当行数开始增长时,类型解决方案将非常缓慢,只需在谷歌上搜索
ORDER BY RAND slow
。当然,在选择2*30行时,您不会注意到这一点。感谢回复vulkanino和xdazz,非常接近时间回答非常棒。感谢回复vulkanino和xdazz,非常接近时间回答非常棒。
select * from (
    select * from table order by upload_on_date desc limit 30
    union
    select * from table order by view_count desc limit 30) t 
order by rand() limit 10
SELECT 
  *
FROM 
(
SELECT
  *
FROM
  tablefile
ORDER BY
  uploaded_on_date DESC
LIMIT 30
UNION SELECT
 *
FROM
  tablefile
ORDER BY
  view_count DESC
LIMIT 30
)
ORDER BY 
   RAND()
LIMIT 10;