MySQLのORDER BY句でレコードを昇順・降順にソートして取得する方法
MySQLでレコードを特定の順序で取得するには?
MySQLテーブルから結果セットを昇順または降順といった特定の順序で取得したい場合は、ORDER BY句にASC(昇順)またはDESC(降順)キーワードを組み合わせて使用します。これらのキーワードを指定しなかった場合、MySQLはデフォルトでレコードを昇順で返します。
ORDER BY句は、指定したカラムを基準として結果セットを並べ替えます。以下のようなテーブルを例に、具体的な使い方を見ていきましょう。
サンプルテーブル
mysql> Select * from Student; +--------+--------+--------+ | Name | RollNo | Grade | +--------+--------+--------+ | Gaurav | 100 | B.tech | | Aarav | 150 | M.SC | | Aryan | 165 | M.tech | +--------+--------+--------+ 3 rows in set (0.00 sec)
昇順(ASC)でソートする例
次のクエリは、「Name」カラムを基準にテーブルを昇順で並べ替えます。ASCは省略可能で、書かない場合も同じ結果になります。
mysql> Select * from student order by name; +--------+--------+--------+ | Name | RollNo | Grade | +--------+--------+--------+ | Aarav | 150 | M.SC | | Aryan | 165 | M.tech | | Gaurav | 100 | B.tech | +--------+--------+--------+ 3 rows in set (0.00 sec)
降順(DESC)でソートする例
次のクエリは、「Grade」カラムを基準にテーブルを降順で並べ替えます。降順にしたい場合は、必ずDESCキーワードを明示的に指定する必要があります。
mysql> Select * from student order by Grade DESC; +--------+--------+--------+ | Name | RollNo | Grade | +--------+--------+--------+ | Aryan | 165 | M.tech | | Aarav | 150 | M.SC | | Gaurav | 100 | B.tech | +--------+--------+--------+ 3 rows in set (0.00 sec)
まとめ
ORDER BY句を使えば、任意のカラムを基準にレコードを自由に並べ替えることができます。昇順の場合はASC(デフォルトのため省略可)、降順の場合はDESCを指定しましょう。複数のカラムを組み合わせたソートにも対応しているため、データの一覧表示やランキング作成など、さまざまな場面で活用できます。
-
MySQLテーブルのカラム名を取得する方法【SHOW・DESCRIBE活用ガイド】
SHOWコマンドでカラム名を取得するMySQLでは、SHOWコマンドを使うことで、テーブルのカラム(列)名を簡単に確認できます。カラム名だけでなく、データ型やNULL許可、キー情報なども一緒に取得できるのが特徴です。基本構文show columns from テーブル名;サンプルテーブルの作成まず、動作確認用に「DemoTable」というテーブルを作成します。mysql> create table DemoTable ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentFirstName varchar(
-
MySQLテーブルから新しく追加されたレコードを取得する方法
MySQLでテーブルに新しく追加されたレコードを取得するには、ORDER BY句とLIMIT句を組み合わせて使用します。AUTO_INCREMENTで採番される主キー(ID)を基準に降順(DESC)で並べ替え、LIMITで取得件数を指定することで、最新のレコードだけを効率的に取り出せます。 サンプルテーブルの作成 まず、CREATE TABLE文でテーブルを作成します。ここでは、自動採番される「StudentId」を主キーとする学生テーブルを用意しました。 mysql> create table DemoTable1486 -> ( -> StudentId