0

所以基本上我要做的是从 category_event 表中选择 5 个随机行,然后将 category_event 表中的 fk_event_id 与 events 表中的 id 匹配,最后按 start_time 从 events 表中排序 5 个随机行。

我在 fk_category_id=2 的 category_event 表中有 25 行,但是当我运行查询时,有时它返回 5 行,下一次 4 行,下一次 5 行,下一次 3 行,等等。每次都应该是 5.. .

这是我目前拥有的:

SELECT * FROM 
(
   SELECT fk_event_id 
   FROM category_event 
   WHERE fk_category_id=2 AND status = 'enabled' 
   ORDER BY RAND() LIMIT 5
) c 
INNER JOIN events e 
ON e.id = c.fk_event_id 
ORDER BY e.start_time;

任何帮助是极大的赞赏 :)

4

1 回答 1

0

原来我在 category_event 中的行有 fk_event_id 指向事件中不存在的行。

现在一切都很好:)

于 2013-07-31T14:42:10.017 回答