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

Mysqlいくつかのランダムな行と1つの特定の行を選択します

    SELECT *
    FROM `choises`
    WHERE questionid = :qid
    ORDER BY correct DESC, RAND()
    LIMIT 5
    

    correctと仮定する ある種のintです。そうしないと、DESCを変更する必要がある場合があります ASCへ 。

    もう1つのORDER BY RAND()を使用して、5つの結果を「シャッフル」できます。 このように:

    SELECT * FROM (
        SELECT *
        FROM `choises`
        WHERE questionid = :qid
        ORDER BY correct DESC, RAND()
        LIMIT 5
    ) as t
    ORDER BY RAND()
    



    1. SQLiteで現在のドットコマンド設定を表示する方法

    2. 必要なデータベース構造のアドバイス

    3. カスタムクエリページネーションCakephp

    4. サポートされていないスキャン、driver.Valueタイプ[]uint8をタイプ*time.Timeに格納します