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

テーブルから上位2番目と3番目のレコードを取得するためのクエリ

    あなたはかなり近いです:

    (select * from student where SECTION = 'A' order by rand() LIMIT 3
    ) union all
    (select * from student where SECTION = 'B' order by rand() LIMIT 2
    )
    order by rand();
    

    サブクエリはorder by rand()を使用します 各学年でランダムな生徒を取得します。外側のorder by rand() 5人の生徒をランダム化します。

    注:これは、目的を達成するための最も簡単な方法です。 studentsの場合 テーブルは適度に大きく、パフォーマンスが問題です。別の解決策があります。



    1. シーケンスのPostgreSQLの次の値?

    2. 暗黙のDEFAULT値を持つTIMESTAMPが非推奨であるため、Mysql 5.6サーバーを起動できませんエラー?

    3. Djangoは子行を追加または更新できません:外部キー制約が失敗します

    4. mysqlトリガーストアードトリガーは、ストアードトリガーを呼び出したステートメントによってすでに使用されています