問題:
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希望の番号で。