0

idtypequestionoption1 .. 4およびanswerフィールドを持つ 1 つの質問テーブルがあります。A、B、C の 3 種類の問題があります。

タイプ A とタイプ B の場合はランダムに 7 問、タイプ C の場合はランダムに 6 問出題する必要があります。各テストで合計 20 問を表示します。

一度に 1 つの質問のみを表示し、次のボタンで次の質問を表示する必要があります。だから私はこれのためにページネーションを使用しています。そのため、mysql クエリの最後に$limit,を追加する必要があります。$startこれに対して単一のクエリを作成するにはどうすればよいですか。

次のような 2 つのクエリを作成しました。

1:
(select * from dgm_questions Where ques_type IN('A') Order by rand() ASC Limit 7) union (select * from dgm_questions Where ques_type
IN('B') Order by rand() ASC Limit 7) union (select * from
dgm_questions Where ques_type IN('C') Order by rand() ASC
Limit 6)

2: select ques_id, ques_type from dgm_questions Where ques_type IN('A','B','C') Order by rand() ASC Limit 20

最初のクエリで合計 20 の質問が表示されますが、追加できません$limit,$startページネーションと 2 番目のクエリでは、A の制限 7、B タイプの制限 C タイプの制限 6 が表示されません。

これに対するクエリをどのように書くことができますか?

4

1 に答える 1