SQL入門その11 - SELECT ... ORDER BY文によるデータの並べ替え
2008/02/16 18:08Update
SQLでは、データを問い合わせするにはSELECTコマンドを使います。通常SELECT文での問い合わせ結果のソート(並べ替え)はしていません。こうした検索内容を降順または昇順で並べ替えには、ORDER BYを使います。
SELECT ... ORDER BYを使用して問い合わせすると、データを列ごとに昇順または降順でソートすることができます。
SELECT ... ORDER BYの基本構文は、以下のようになります。
SELECT <列名1> [, 列名2 ...] FROM <テーブル名> [WHERE条件式など]
ORDER BY <列名1> [ASC, DESC] [, 列名2[ASC, DESC] ...]
※1: <>は必須、[]はオプション構文との意味です。
※2: ASC:昇順で並べ替え。無指定時、デフォルトはASCとなります。
※3: DESC:降順で並べ替え。
では、早速試しましょう。
※実際のテストはMySQLを使って行います。
仮に、次のようなテーブルUSER_MSTがあります:
| ID | NAME | AGE |
|---|---|---|
| 1 | Mike | 20 |
| 2 | Jackson | 21 |
| 3 | Juli | 22 |
| 4 | Alam | 22 |
単一列での並び替え(昇順:ASC)例:
AGEの昇順で表示します。
mysql>SELECT * FROM USER_MST ORDER BY AGE ASC;
+---------+---------+---------+
| ID | NAME | AGE |
+---------+---------+---------+
| 1 | Mike | 20 |
| 2 | Jackson | 21 |
| 3 | Juli | 22 |
| 4 | Alam | 22 |
+---------+---------+---------+
4 rows in set (0.00 sec)
mysql>
※キーワードASCを省略してもOK+---------+---------+---------+
| ID | NAME | AGE |
+---------+---------+---------+
| 1 | Mike | 20 |
| 2 | Jackson | 21 |
| 3 | Juli | 22 |
| 4 | Alam | 22 |
+---------+---------+---------+
4 rows in set (0.00 sec)
mysql>
単一列での並び替え(降順:DESC)例:
AGEの降順で表示します。
mysql>SELECT * FROM USER_MST ORDER BY AGE DESC;
+---------+---------+---------+
| ID | NAME | AGE |
+---------+---------+---------+
| 3 | Juli | 22 |
| 4 | Alam | 22 |
| 2 | Jackson | 21 |
| 1 | Mike | 20 |
+---------+---------+---------+
4 rows in set (0.00 sec)
mysql>
+---------+---------+---------+
| ID | NAME | AGE |
+---------+---------+---------+
| 3 | Juli | 22 |
| 4 | Alam | 22 |
| 2 | Jackson | 21 |
| 1 | Mike | 20 |
+---------+---------+---------+
4 rows in set (0.00 sec)
mysql>
複数列での並び替え例:
AGEの降順、NAMEの昇順で表示します。
mysql>SELECT * FROM USER_MST ORDER BY AGE DESC, NAME ASC;
+---------+---------+---------+
| ID | NAME | AGE |
+---------+---------+---------+
| 4 | Alam | 22 |
| 3 | Juli | 22 |
| 2 | Jackson | 21 |
| 1 | Mike | 20 |
+---------+---------+---------+
4 rows in set (0.00 sec)
mysql>
+---------+---------+---------+
| ID | NAME | AGE |
+---------+---------+---------+
| 4 | Alam | 22 |
| 3 | Juli | 22 |
| 2 | Jackson | 21 |
| 1 | Mike | 20 |
+---------+---------+---------+
4 rows in set (0.00 sec)
mysql>
その他関連記事
SQL入門その2 - データの問い合わせSELECT文の基本的な使い方
Sponsored Link
- Relative Articles
- SQL入門その1 - SQLとは - (2007/10/30 10:42)
- SQL入門その2 - データの問い合わせSELECT文の基本的な使い方 - (2007/10/30 12:42)
- SQL入門その3 - データの更新UPDATE文の基本的な使い方 - (2007/11/05 16:07)
- SQL入門その4 - データの削除DELETE文の基本的な使い方 - (2007/11/05 16:28)
- SQL入門その5 - データの登録INSERT文の基本的な使い方 - (2007/11/05 17:21)
- SQL入門その6 - テーブルの作成CREATE TABLE文の基本的な使い方 - (2007/11/06 14:42)
- SQL入門その7 - インデックスの作成CREATE INDEX文の基本的な使い方 - (2007/11/07 16:58)
- SQL入門その8 - データベース制約CONSTRAINT - (2007/11/08 15:27)
- SQL入門その9 - テーブルの変更ALTER TABLE文の基本的な使い方 - (2007/11/20 23:37)
- SQL入門その10 - SELECT DISTINCT文による重複データを取除く - (2008/02/16 15:58)