所以基本上我要做的是从 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;
任何帮助是极大的赞赏 :)