0

特定の 4 つのカテゴリから「4 つの異なるランダム レコード」を選択し、昇順に並べ替える必要があります。

16 個のランダムなレコードを選択しようとして、category_id でグループ化しました

クエリ:


SELECT * FROM
(
    SELECT 
        id, 
        category_id, 
        description, 
        RAND() AS rnd
    FROM questions
    ORDER BY rnd
    LIMIT 16
) AS temp
GROUP BY temp.category_id
LIMIT 4

しばらくすると結果:


id      category_id     description     rnd
--------------------------------------------------------------
224         1           Question 7      0.004305024635330797
293         2           Question 10     0.006966075866451558
601         3           Question 2      0.001877430828174046
958         4           Question 54     0.0065207639769844375

他の瞬間の結果:


id      category_id     description     rnd
--------------------------------------------------------------
230         1           Question 2      0.01622675640157122
310         2           Question 21     0.005430353810480194
159         4           Question 17     0.021778853630441106

問題は、このクエリを修正するために必要な 4 つのカテゴリが常に表示されるとは限らないことです。これまでのところ、実際の解決策を見つけることができません。
あなたの助けが必要です !
前もって感謝します !

4

1 に答える 1