MySQLのORDER BY句を使用してデータをソートする方法


  1. 単一の列でのソート:

    SELECT * FROM テーブル名
    ORDER BY 列名 ASC; -- 昇順ソート
    
    SELECT * FROM テーブル名
    ORDER BY 列名 DESC; -- 降順ソート

    例えば、SELECT * FROM users ORDER BY age ASC;とすると、usersテーブルのage列を昇順でソートします。

  2. 複数の列でのソート:

    SELECT * FROM テーブル名
    ORDER BY 列名1 ASC, 列名2 DESC; -- 列名1で昇順ソートし、列名2で降順ソート

    例えば、SELECT * FROM products ORDER BY category ASC, price DESC;とすると、productsテーブルをcategory列で昇順、price列で降順にソートします。

  3. NULLの扱い方:

    SELECT * FROM テーブル名
    ORDER BY 列名 ASC NULLS FIRST; -- NULL値を先頭に表示
    
    SELECT * FROM テーブル名
    ORDER BY 列名 ASC NULLS LAST; -- NULL値を末尾に表示

    例えば、SELECT * FROM users ORDER BY last_name ASC NULLS LAST;とすると、usersテーブルのlast_name列を昇順ソートし、NULL値を末尾に表示します。

これらは一般的な使用例ですが、さまざまなソートオプションがありますので、詳細なドキュメントを参照することをお勧めします。MySQLの公式ドキュメントやチュートリアルサイトなどから、さらなる情報を入手することができます。