我需要在与该视频属于同一类别的视频页面上显示10个相关视频。问题是每个类别可能有数十万行,因此运行RAND()是不可能的,我宁愿不创建匹配我的innodb表的myisam表,然后搜索相关的全文。 / p>
我不确定我的想法是否可行,但我想根据日期选择该类别的100个最新行,然后从该集合中随机选择10个。
这可能,你能指出我正确的方向吗?
答案 0 :(得分:4)
我假设您有一个名为ID
的简单表,您可以执行以下操作:
SELECT *
FROM (
SELECT ID, Name, VideoFile
FROM VideoTable
ORDER BY ID DESC
LIMIT 100
) Derived
ORDER BY RAND()
LIMIT 10
答案 1 :(得分:0)
选择*来自 (从表ORDER BY DESC LIMIT 100中选择*) ORDER BY rand() 限制10