sql >> データベース >  >> RDS >> Mysql

データベースからの質問の取得をランダム化する方法は?

    LIMIT m,nを使用できます 取得する結果の数を制限し、結果を特定の量だけオフセットします。

    これで、次のようなことができます:

     SELECT * FROM questions WHERE QuizID=1 LIMIT $page,5;
    

    $pageを計算する場所 $_GETに基づく 変数。しかし、これはあなたのランダム性を解決しません。

    いつでもRAND($ key)をシードできます ORDER BY RAND($key)ができるように、セッションに保存した特定のキーによって 上記の制限手法を使用します。

    おそらく、実装するのが最も簡単なのは、結果セット全体を取得し、それをシャッフルしてキャッシュすることです。次に、phpを使用して、キャッシュの特定のチャンクのみを表示します。

    これは改ページに関連しているので。言っておきますが、LIMIT m、nは思ったほど速くないかもしれません。 改善方法を学ぶ MySQLを使用した効率的なページネーション の詳細をご覧ください。



    1. スレッドを使用してデータベース要求を行う

    2. 日付スタンプを使用してテーブルを作成する

    3. Oracleの時間値にメリディエムインジケーター(AM / PM)を追加する方法

    4. Oracleで作成する前に、テーブルが存在するかどうかを確認してください