0

我需要在一个视频页面上显示 10 个与该视频属于同一类别的相关视频。问题是每个类别可能有数十万行,因此运行 RAND() 是不可能的,我不希望创建与我的 innodb 表匹配的 myisam 表,然后全文搜索相关。

我不确定我的想法是否可行,但我想为按日期排序的该类别选择 100 个最新行,然后从该集合中随机选择 10 个。

这可能吗?请您指出正确的方向吗?

4

2 回答 2

4

我假设您有一个名为 的简单表ID,您可以执行以下操作:

SELECT *
FROM (
  SELECT ID, Name, VideoFile
  FROM VideoTable
  ORDER BY ID DESC
  LIMIT 100
) Derived
ORDER BY RAND()
LIMIT 10
于 2013-03-20T02:51:17.543 回答
0

select * from (select * from table ORDER BY DESC LIMIT 100) ORDER BY rand() LIMIT 10

于 2013-03-20T02:51:28.047 回答