問題:
MySQL、PostgreSQL、またはSQLiteでクエリを実行した結果の行数を制限したい。
例:
exam
表には、試験の結果が記載された生徒の名前があります。
name | Exam_result |
---|---|
Janet Morgen | 9 |
タヤベイン | 11 |
アンジョンソン | 11 |
Josh Kaur | 10 |
エレンソーントン | 8 |
最高の試験結果が得られる3行を取得したい。
解決策:
SELECT * FROM exam ORDER BY exam_result DESC LIMIT 3;
クエリの結果は次のようになります:
name | Exam_result |
---|---|
Taya Bain | 11 |
アンジョンソン | 11 |
Josh Kaur | 10 |
ディスカッション:
まず、exam_result
で行を並べ替えます ORDER BY
を使用して降順で列 句とDESC
キーワード。次に、ORDER BY
の後 句、LIMIT
を使用します 返したい行数のキーワード(ここでは、3
。
ORDER BY exam_result DESC LIMIT 3
最良の3行ではなく、ランダムに3行を取得する場合は、ORDER BY
をスキップしてください。 一部。
SELECT * FROM exam LIMIT 3;
もちろん、必要な数の行を取得できます。 を置き換えるだけです 3希望の番号で。