0

したがって、基本的に私がやろうとしているのは、category_event テーブルから 5 つのランダムな行を選択し、category_event テーブルの fk_event_id を events テーブルの id と一致させ、最後に events テーブルから start_time で 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