mysql では、SELECT ステートメントと "ORDER BY" キーワードを使用してクエリ ソート機能を実装できます。構文は "SELECT * FROM データ テーブル名 ORDER BY フィールド名 [ASC|DESC]"; です。 「ASC」を設定すると昇順、「DESC」を設定すると降順にソートできます。
このチュートリアルの動作環境: Windows7 システム、mysql8 バージョン、Dell G3 コンピューター。
mysql では、SELECT
ステートメントと "ORDER BY
" キーワードを使用して、クエリの並べ替え効果を実現できます。
#SELECT ステートメントはデータをクエリでき、
ORDER BY キーワードはクエリ結果のデータを特定の順序で並べ替えることができます
文法:
SELECT * FROM 数据表名 ORDER BY 字段名 [ASC|DESC]
ASC|DESC:
ASC はフィールドが昇順で並べ替えられることを意味し、
DESC はフィールドが並べ替えられることを意味します降順で。このうち、
ASC がデフォルト値です。
ORDER BY キーワードを使用する場合は、次の点に注意する必要があります:
ORDER BY キーワードの後にサブクエリを続けることができます。
ORDER BY は null 値を最小値として扱います。
ORDER BY ソート用に複数のフィールドを指定すると、MySQL はフィールドの順序に従って左から右にソートします。
単一フィールドの並べ替え
以下では、特定の例を使用して、ORDER BY が単一フィールドを指定する場合を説明します。 MySQL クエリ結果を並べ替える方法。例 1
次の例では、tb_students_info テーブル内のすべてのレコードをクエリし、高さフィールドを並べ替えます。SQL ステートメントと実行結果は次のとおりです。mysql> SELECT * FROM tb_students_info ORDER BY height; +----+--------+---------+------+------+--------+------------+ | id | name | dept_id | age | sex | height | login_date | +----+--------+---------+------+------+--------+------------+ | 2 | Green | 3 | 23 | F | 158 | 2016-10-22 | | 1 | Dany | 1 | 25 | F | 160 | 2015-09-10 | | 4 | Jane | 1 | 22 | F | 162 | 2016-12-20 | | 7 | Lily | 6 | 22 | F | 165 | 2016-02-26 | | 10 | Tom | 4 | 23 | M | 165 | 2016-08-05 | | 8 | Susan | 4 | 23 | F | 170 | 2015-10-01 | | 6 | John | 2 | 21 | M | 172 | 2015-11-11 | | 5 | Jim | 1 | 24 | M | 175 | 2016-01-15 | | 9 | Thomas | 3 | 22 | M | 178 | 2016-06-07 | | 3 | Henry | 2 | 23 | M | 185 | 2015-05-31 | +----+--------+---------+------+------+--------+------------+ 10 rows in set (0.08 sec)
複数フィールドのソート
以下では、特定の例を使用して、ORDER BY で複数のフィールドが指定された場合に MySQL がクエリ結果をどのように実行するかを説明します。例 2
tb_students_info テーブルの名前フィールドと身長フィールドをクエリし、最初に身長で並べ替え、次に名前で並べ替えます。SQL ステートメントと実行結果は次のとおりです。 。mysql> SELECT name,height FROM tb_students_info ORDER BY height,name; +--------+--------+ | name | height | +--------+--------+ | Green | 158 | | Dany | 160 | | Jane | 162 | | Lily | 165 | | Tom | 165 | | Susan | 170 | | John | 172 | | Jim | 175 | | Thomas | 178 | | Henry | 185 | +--------+--------+ 10 rows in set (0.09 sec)
例 3
tb_students_info テーブルをクエリし、最初に高さで降順に並べ替え、次に名前で昇順に並べ替えます。SQL ステートメントと実行結果は次のとおりです。 。mysql> SELECT name,height FROM tb_student_info ORDER BY height DESC,name ASC; +--------+--------+ | name | height | +--------+--------+ | Henry | 185 | | Thomas | 178 | | Jim | 175 | | John | 172 | | Susan | 170 | | Lily | 165 | | Tom | 165 | | Jane | 162 | | Dany | 160 | | Green | 158 | +--------+--------+ 10 rows in set (0.00 sec)
mysql ビデオ チュートリアル ]
以上がmysqlでクエリとソートを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。