SQL入門その10 - SELECT DISTINCT文による重複データを取除く
2008/02/16 15:58Update
SQLでは、データを問い合わせするにはSELECTコマンドを使います。通常SELECT文での問い合わせ結果には重複行が含まれることがあります。こうした検索内容から重複する行を取除くためには、SELECT DISTINCTを使います。
SELECT DISTINCTを使用すると、重複行を削除してくれます。
SELECT DISTINCTの基本構文は、以下のようになります。
SELECT DISTINCT <列名1> [, 列名2 ...] FROM <テーブル名> [WHERE条件式など]
※※ <>は必須、[]はオプション構文との意味です。
※※ DISTINCTで重複を抑制しているのは SELECT文で得られた行データであって、言い換えると、SELECT文に含まれる全列名の組み合わせで重複データはないこと、単独列のみの重複ではないことに注意してください。
では、早速試しましょう。
※実際のテストはMySQLを使って行います。
仮に、次のテーブルUSER_MST:
| ID | NAME | NICK_NAME | AGE |
|---|---|---|---|
| 1 | Mike | Jack | 20 |
| 2 | Jackson | Jack | 21 |
| 3 | Juli | Sam | 22 |
| 4 | Samon | Sam | 22 |
mysql>SELECT DISTINCT NICK_NAME FROM USER_MST;
+---------+
|NICK_NAME|
+---------+
| Jack |
| Sam |
+---------+
2 rows in set (0.00 sec)
mysql>
NICK_NAME列の重複がないデータ2件を取得しました。+---------+
|NICK_NAME|
+---------+
| Jack |
| Sam |
+---------+
2 rows in set (0.00 sec)
mysql>
mysql>SELECT DISTINCT NICK_NAME, AGE FROM USER_MST;
+---------+---+
|NICK_NAME|AGE|
+---------+---+
| Jack |20 |
| Jack |21 |
| Sam |22 |
+---------+---+
3 rows in set (0.00 sec)
mysql>
NICK_NAMEとAGEの組み合わせで重複がないデータ3件を取得しました。+---------+---+
|NICK_NAME|AGE|
+---------+---+
| Jack |20 |
| Jack |21 |
| Sam |22 |
+---------+---+
3 rows in set (0.00 sec)
mysql>
その他関連記事
SQL入門その2 - データの問い合わせSELECT文の基本的な使い方
Sponsored Link
- Relative Articles
- OralceやMySQLなどのデータベースの索引(インデックス)を削除する例 - (2010/08/02 17:45)
- MySQL/Oracleなどのデータベースのページング処理 - (2009/09/08 18:29)
- SQL入門その15 - テーブルの列名の変更 - (2009/03/16 11:16)
- SQL入門その14 - テーブル列定義の変更ALTER TABLE..MODIFY文の使用例 - (2009/03/04 12:49)
- SQLで一意制約(UNIQUE)の追加及び削除 - (2008/10/29 23:42)
- SQL入門その8 - データベース制約CONSTRAINT - (2008/10/29 22:31)
- SQL入門その13 - <SELECT 文> UNION/UNION ALL <SELECT 文>による検索結果の結合 - (2008/07/22 14:54)
- SQL入門その12 - テーブルの削除DROP TABLE文の基本的な使い方 - (2008/07/02 10:48)
- SQL入門その11 - SELECT ... ORDER BY文によるデータの並べ替え - (2008/02/16 18:08)
- SQL入門その9 - テーブルの変更ALTER TABLE文の基本的な使い方 - (2007/11/20 23:37)
- SQL入門その7 - インデックスの作成CREATE INDEX文の基本的な使い方 - (2007/11/07 16:58)
- SQL入門その6 - テーブルの作成CREATE TABLE文の基本的な使い方 - (2007/11/06 14:42)
- SQL入門その5 - データの登録INSERT文の基本的な使い方 - (2007/11/05 21:46)
- SQL入門その4 - データの削除DELETE文の基本的な使い方 - (2007/11/05 21:46)
- SQL入門その3 - データの更新UPDATE文の基本的な使い方 - (2007/11/05 21:45)