MySQLでのクエリ結果のソートと結果の戻り数の制限の使用法チュートリアル
1486 ワード
MySQL Order Byクエリ結果ソートORDER BY SQL構文のORDER BYキーワードは、クエリ結果をソートするために使用されます.ソートには昇順(ASC)と降順(DESC)の2種類があり、ORDER BYを使用してソート方法を指定しない場合、デフォルトでは昇順となります.構文:
ORDER BYの後には、複数のフィールドであってもよいソートされたフィールド名がリストされる必要があります.userテーブルuidの降順クエリー:
クエリの結果は次のとおりです.
例2:
この例では、最新に登録された10人のユーザーのユーザー名をクエリーします.
MySQL Limit限定クエリーレコード数MySQL LIMIT MySQLのLIMITキーワードは、クエリーレコードを限定するために最大数を返します.構文:
この構文ではoffsetはオフセット量(データレコードへのカーソル)を表し、rowsはクエリが返す最大レコード数を制限し、この2つのパラメータは整数でなければならない.例:
userテーブルのデータレコードが14件を超えると、この例は結果に合致する5-14件目のレコード(計10件)を返し、デフォルトのオフセット量は0から始まることに注意します.offsetパラメータが省略されている場合、デフォルトは0です.すなわち、LIMIT 10はLIMIT 0,10と同じです(クエリー条件に合致する最初の10レコードを返します).ヒントLIMITのrowsでは、次のような値-1(現在のオフセットからテーブルレコードの終了までのすべてのデータ)はサポートされていません.
SQLを実行すると、パラメータエラーが発生します.ユーザー名のパスワードを確認するなど、クエリーの結果が1つしかないことを確認するときにLIMIT 1の制限条件を加えることができます.システムが1つのデータをクエリーした後、次のレコードを検索し続けることなく検索を停止することで、クエリーの効率を効果的に向上させることができます.
SELECT column,… FROM tb_name ORDER BY column1,column2,… DESC(ASC)
ORDER BYの後には、複数のフィールドであってもよいソートされたフィールド名がリストされる必要があります.userテーブルuidの降順クエリー:
SELECT uid,username FROM user ORDER BY uid DESC
クエリの結果は次のとおりです.
uid username
4
3 Jack
2
1 Admin
例2:
SELECT username FROM user ORDER BY regdate DESC LIMIT 10
この例では、最新に登録された10人のユーザーのユーザー名をクエリーします.
MySQL Limit限定クエリーレコード数MySQL LIMIT MySQLのLIMITキーワードは、クエリーレコードを限定するために最大数を返します.構文:
... LIMIT offset , rows
この構文ではoffsetはオフセット量(データレコードへのカーソル)を表し、rowsはクエリが返す最大レコード数を制限し、この2つのパラメータは整数でなければならない.例:
SELECT username FROM user LIMIT 4,10
userテーブルのデータレコードが14件を超えると、この例は結果に合致する5-14件目のレコード(計10件)を返し、デフォルトのオフセット量は0から始まることに注意します.offsetパラメータが省略されている場合、デフォルトは0です.すなわち、LIMIT 10はLIMIT 0,10と同じです(クエリー条件に合致する最初の10レコードを返します).ヒントLIMITのrowsでは、次のような値-1(現在のオフセットからテーブルレコードの終了までのすべてのデータ)はサポートされていません.
SELECT username FROM user LIMIT 9,-1
SQLを実行すると、パラメータエラーが発生します.ユーザー名のパスワードを確認するなど、クエリーの結果が1つしかないことを確認するときにLIMIT 1の制限条件を加えることができます.システムが1つのデータをクエリーした後、次のレコードを検索し続けることなく検索を停止することで、クエリーの効率を効果的に向上させることができます.