MYSQL从两行中随机选择
问题描述:
有人可以帮助我解决这个问题。 我有这个表样本:MYSQL从两行中随机选择
文件表
- UID
- 文件
- uploaded_on_date
- VIEW_COUNT
我要考虑的是前30名最最近上传的文件和前30名最多浏览文件然后从他们随机选择和限制10。
我是新来的这个mysql复杂查询。示例查询会很好,我将能够理解它。 谢谢。
答
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;
+0
感谢您的答复vulkanino和xdazz,真的很接近时间回答非常真棒。 – xiomai 2012-02-08 14:38:11
'ORDER BY RAND()'型解决方案将是非常缓慢的,当行数开始增长,只是谷歌'ORDER BY兰特slow'。当然,从2 * 30行选择时不会注意到这一点。 – biziclop 2012-02-08 10:31:24